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之多源文件编译(转)的主要内容,如果未能解决你的问题,请参考以下文章

makefile 多源文件编译规则一步到位

vscode使用vscode多源文件结合opencv编译调试 C/C++

如何单独编译Android源代码中的模块

多源文件可执行比单源文件可执行慢

Linux基础之文件管理命令

(转)MySQL多源复制