Linux之多源文件编译(转)
Posted CodeBeauty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之多源文件编译(转)相关的知识,希望对你有一定的参考价值。
多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test1.c和test2.c]
1. 多个文件一起编译
用法:
gcc test1.c test2.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:
gcc -c test1.c //将test1.c编译成test1.o gcc -c test2.c //将test2.c编译成test2.o gcc -o test1.o test2.o -o test //将test1.o和test2.o链接成test
以上两种方法相比较,第一种方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。
注:如果要编译的文件都在同一个目录下,可以用通配符来进行编译
gcc *.c -o
如果是一个项目的话,可能会有上百个文件,上述的编译方法效率极低,所以我们要把上述的编译过程写进以下一个文本文件中:Linux中称为makefile,编写makefile不是容易的事情,现在还没有学习,以后单独写一篇关于makefile的博客吧。其实实际中还有很多如cmake,automake等编译工具使用。
以上是关于Linux之多源文件编译(转)的主要内容,如果未能解决你的问题,请参考以下文章