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;;);


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部