提供Discuz ,ECShop ,PHPCMS ,帝国CMS ,CSS教程 ,PHP教程 ,DedeCMS ,WordPress ,HTML教程等cms问题查询.
当前位置: 运维 > Linux > Linux环境下怎样编译和实行c顺序?(详解)【Linux】,Linux,c程序

本篇文章给人人带来的内容是引见Linux环境下怎样编译和实行c顺序?(详解) 。有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你们有所协助。

1 单个文件的编译和实行

建立main.c文件,内容以下:

#include <stdio.h>#include <stdlib.h>int main(void){
printf("Hello world!\n");return 0;
};

编译:

gcc -o main main.o

实行:

root@ubuntu:/ybg/python# ./main
Input an integer:10sum=55

2 多个文件的编译和实行
建立sum.c文件,内容以下:

#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文件,内容以下:

#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;
};

编译

gcc -c sum.c -fPIC -o sum.ogcc -c main.c -fPIC -o main.o

生成可实行文件,文件名为main

gcc -o main sum.o main.o

实行顺序

./main

实行效果同上

3 运用动态链接库体式格局

生成动态链接库

gcc sum.o -shared -o sum.so

生成可实行文件,文件名为main

gcc -o main sum.o main.o

实行

./main

如果有以下报错,申明在默许的动态链接库途径下没有找到方才生成的sum.so

./main: error while loading shared libraries: sum.so: cannot open shared object file: No such file or directory

实行以下敕令,将当前目次添加到动态链接库查找途径环境变量

export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH

再次实行

./main

实行效果同上

4 python挪用.so动态链接库

建立test.py文件,内容以下:

import ctypes
so = ctypes.CDLL('./sum.so')print "so.sum(50) = %d" % so.sum(50)

实行

root@ubuntu:/ybg/python# python test.py 
so.sum(50) = 1275

以上就是Linux环境下怎样编译和实行c顺序?(详解)的细致内容,更多请关注ki4网别的相干文章!

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Linux环境下怎样编译和实行c顺序?(详解)【Linux】,Linux,c程序"

最新评论

    暂无留言哦~~

博客简介

看古风美女插画Cos小姐姐,素材合集图集打包下载:炫龙网,好看二次元插画应有尽有,唯美小姐姐等你来。

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

服务热线:
 

 QQ在线交流

 旺旺在线