gcc编译c语言,非Makefile形式

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

参考http://man.linuxde.net/gcc

猜你喜欢

转载自blog.csdn.net/cy413026/article/details/81978172