C语言demo样例
#include main() {printf("hello world\n");
}

有参数构造:
# include
int main(void)
{ int Max(int x, int y); //对Max函数的声明, x、y称为形参int a = 1, b = 2;printf("max = %d\n", Max(a, b)); //a、b称为实参return 0;
}
//定义Max函数
int Max(int x, int y)
{int z; //函数体中的声明部分if (x > y) //下面是语句部分{z = x;}else{z = y;}return (z); //返回z的值给主调函数使用
}
main带参数的函数
int main(int argc,char *argv[],char *envp[])
{int i = 0;for (i = 0; i < argc; i++){printf("%s\n", argv[i]);}system("pause");return 0;
}
main函数的三个参数:
第一个参数 argc ,用于存放命令行参数的个数。
第二个参数 argv,是个字符指针的数组,每个元素都是一个字符指针,指向一个字符串,即命令行中的每一个参数。
第三个参数 envp ,也是一个字符指针的数组,这个数组的每一个元素是指向一个环境变量的字符指针。
生成so文件
第一步:
将文件Hello.c编译成一个动态库:libHello.so,执行命令如下:
$ gcc Hello.c -fPIC -shared -o libHello.so
-shared: 该选项指定生成动态连接库(让连接器生成T类型的导出符号表,有时候也生成弱连接W类型的导出符号),不用该标志外部程序无法连接,相当于一个可执行文件;
-fPIC:PIC指Position Independent Code,表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的,所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
