linux多文件编译方法

1。常用编译命令选项



假设源程序文件名为test C。



1。非选项编译链接



用法:# gcc的C测试。



功能:预处理、汇编、编译、链接测试。C形成的可执行文件,输出文件没有被指定在这里,和默认的输出是a.out。



2。选项-O



用法:# gcc的C O试验测试。



功能:预处理、汇编、编译和链接C以形成可执行文件测试。



三.选项E



用法:# GCC E测试。C O试验。我



效果:C测试预处理输出测试。



4。期权的



用法:# GCC的考验。我



函数:预处理输出文件测试。我被编译成一个测试文件。



5。选项C



用法:# gcc的C测试。



功能:将汇编输出文件测试编译到输出测试O文件。



6。非选项链接



用法:# GCC测试。O O试验



链接:将已编译的输出文件test链接到最终的可执行文件测试中。



7。选项-O



用法:# gcc O1 C O试验测试。



效果:编译编译器优化1级编译器,级别为1~3,级别越高,效果越好,编译时间越长。



两。多源文件的编译方法



如果有多个源文件,基本上有两种编译方法:



{如果有测试两个源文件。testfun C和C }。



超过1。文件一起编译



用法:# GCC testfun。C C O试验测试。



功能:编辑testfun。C和C分别连接测试。在测试的可执行文件。



2。分别编译每个源文件,然后将目标文件链接到已编译的输出。



使用:



# gcc的C testfun。C / / testfun。C编译testfun啊



# gcc的C测试。C / /测试。C编译测试。O



# gcc -o testfun。O试验。O O试验testfun。O和O /测试链接测试。



与上述两种方法相比,第一种方法需要编译所有文件在编译时,当二只编译修改过的文件,和未修改的文件不需要重新编译。



三.如果要编译的所有文件都在同一目录中,那么可以用通配符来编译它。