gcc (选项) (参数)
选项:
-o:指定生成的输出文件;
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-wall:显示警告信息;
-c:仅执行编译操作,不进行连接操作。
参数:需要编译的文件
其中选项和参数位置可调换
主函数所在文件include其他文件时 gcc编译时不需要列出已经include的文件,include可以是*.h,也可以是*.c,但最好不要include*.c。
1.如果main()所在文件include所有*.c 编译可用gcc -o test main.c
2.如果main()所在文件只include a.h,b.h,c.h编译需要用gcc -o test main.c a.c b.c c.c
3.如果没有include只有extern,extern的函数或变量在a.c中编译要用gcc -o test main.c a.c
可参考http://www.cnblogs.com/zhangfeionline/p/5861721.html
两种多文件编译方式
a.如上所写,gcc中列出多个源文件一起编译
b.单个文件分别编译为*.o,再将*.o连接
gcc -c testfun.c #将testfun.c编译成testfun.o
gcc -c test.c #将test.c编译成test.o
gcc -o testfun.o test.o -o test #将testfun.o和test.o链接成test