本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家带来的内容是介绍Linux环境下如何编译和执行c程序?(详解) 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。1 单个文件的编译和执行
创建main.c文件,内容如下:
1 2 3 | # include <stdio.h># include <stdlib.h>int main(void){
printf( "Hello world!\n" ); return 0;
};
|
编译:
执行:
1 2 | root@ubuntu:/ybg/python# ./main
Input an integer:10sum=55
|
2 多个文件的编译和执行
创建sum.c文件,内容如下:
1 2 3 4 5 | # include <stdio.h># include <stdlib.h>int sum(int x){int i, result=0; for (i=0; i<=x; i++){
result+=i;
} if (x > 100)
exit (-1); return result;
};
|
创建main.c文件,内容如下:
1 2 3 4 5 | # include <stdio.h># include <stdlib.h>int main(void){int x;
printf( "Input an integer:\n" );
scanf( "%d" , &x);
printf( "sum=%d\n" , sum(x)); return 0;
};
|
编译
1 | gcc -c sum.c -fPIC -o sum.ogcc -c main.c -fPIC -o main.o
|
生成可执行文件,文件名为main
执行程序
执行结果同上
3 使用动态链接库方式
生成动态链接库
1 | gcc sum.o -shared -o sum.so
|
生成可执行文件,文件名为main
执行
如果有以下报错,说明在默认的动态链接库路径下没有找到刚刚生成的sum.so
./main: error while loading shared libraries: sum.so: cannot open shared object file: No such file or directory
执行以下命令,将当前目录添加到动态链接库查找路径环境变量
1 | export LD_LIBRARY_PATH=pwd: $LD_LIBRARY_PATH
|
再次执行
执行结果同上
4 python调用.so动态链接库
创建test.py文件,内容如下:
1 2 | import ctypes
so = ctypes.CDLL( './sum.so' ) print "so.sum(50) = %d" % so.sum(50)
|
执行
1 2 | root@ubuntu:/ybg/python# python test.py
so.sum(50) = 1275
|
以上就是Linux环境下如何编译和执行c程序?(详解)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
如何查看云盘的使用率、iops和吞吐量
Linux vim怎样不保存退出
Linux中关于虚拟机跟分区磁盘扩充空间记录的示例代码分享(图文)
Linux文件路径怎么写?
Linux忘记root密码的解决办法
Linux系统如何重装
如何利用系统日志和实时获取实例屏幕截图分析排查实例故障
Linux下如何用iptables开放指定端口
Linux卸载软件命令是什么
有关Linux中的bash编程讲解
更多相关阅读请进入《Linux》频道 >>
转载请注明出处:木庄网络博客 » Linux环境下如何编译和执行c程序?(详解)