-c:只编译,生成.o文件
-o:输出文件名
-g:调试选项
-O:优化编译、链接。这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些
-E:仅作预处理
-S:生成汇编代码
-I:头文件目录
-l:链接库名
-L:搜索库路径
-D:宏定义
-U:取消宏定义
-w:不生成任何警告
-Wall: 生成所有警告编译过程:
1.预处理,生成.i文件[预处理器cpp]
2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
3.由汇编变为目标代码(机器代码),生成.o文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
# gcc -c test.c
# gcc -o test test.o
# gcc -g test.c
# gcc -O2 test.c
# gcc -E test.c -o test.i
# gcc -S test.i
# gcc test.c -I./include
# gcc test.c -ltest -L.
# gcc test.c -DTEST
# gcc test.c -UTEST
# gcc -w test.c
# gcc -Wall test.c