您的位置:首页 > 其它

ubuntu下编译c程序之多个 .c文件关联

2013-05-11 18:04 176 查看
当编译需要将多个 .c 文件关联时,即需要建立静态库。静态库是编译器生成的普通.o文件的集合。链接一个程序时用库中的对象文件还是目录中的对象文件都是一样的,静态库亦称归档文件(archive),管理这种工具的文件叫ar。

要构建一个库,首先要编译出库中需要的对象模块。例如:有三个文件,file1.c file2.c main.c

main.c 文件引用了file1.c和file2.c中的函数,想要成功编译则:

第一步:$gcc -c -Wall file1.c file2.c

这时会生成两个文件:file1.o和file2.o

程序ar配合参数-r可以创建一个新的库并将对象文件插入。如果库不存在,则会创建新库,并将对象模块添加到归档文件中。

第二步:$ar -r libmain.a file1.o file2.o

现在库已经构建完成可以使用了。

第三步:$gcc -Wall main.c libmain.a -o main

静态库的命名惯例是名字以lib开头并以.a为后缀名结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐