gcc命令格式:
gcc [options] [filename]
选项:
-x language 指定使用的语言(C C++ 或汇编)
-c 只对文件进行编译和汇编,不进行链接 gcc –c -o test.o test.c
-S 只对文件进行编译,生成汇编文件,但是不进行汇编和链接 gcc –S -o test.asm test.c
-E 只对文件进行预处理,不进行编译汇编和链接 gcc –E test.c
-o [file1] file2 将文件file2编译成可执行文件file1 gcc –o test test.c
-L library 用来指定所使用的库文件 gcc –L/usr/bin/lib/ -o test test.c
-I directory 为include文件搜索指定目录 gcc –I/usr/include –o test test.c
-w 禁止警告信息
-pedantic 严格要求符合ANSI标准
-Wall 显示附加的警告信息 gcc –Wall –o test test.c
-g 显示排错信息以便于调试 gcc –Wall –g –o test test.c
-p 产生prof所需的信息 gcc –p –o test test.c
-pg 产生gprof所使用的信息
-O(-O1) 对编译出的代码进行优化 gcc –O –Wall –o testtest.c 注意不要与-g合用,会出现错误
-O2 进行比-O高一级的优化
-O3 产生更高级别的优化
-v 显示gcc版本
-m*** 根据不同的微处理器进行优化
C语言预处理器cpp 对C语言进行预处理(gcc自动调用cpp进行预处理),主要是处理掉宏定义和条件编译
ld 连接器 对编译出来模块与C函数库和初始化代码进行组合。
as 汇编器 as处理汇编代码,产生目标文件,这些目标文件最终将生成.o文件,库文件或可执行文件。
ar 建立静态库 将几个小文件组合成为一个大文件。
ldd 库显示 一个可执行文件要使用共享库,通过ldd工具显示他们要使用的库。
参考文章: