gcc/g++常用编译选项详解(-E -o -c等)

  • GCC工作流程

源代码(.h .c .cpp)==预处理器==> 预处理后源代码 ==编译器==> 汇编代码(.S)==汇编器==> 目标代码(.o)启动代码、库代码(.a/.so)、其他目标代码 ==链接器==> 可执行程序(win:.exe linux:.out)

  • 常用后缀
gcc编译选项 说明
-E 预处理指定的源文件,不进行编译
-S 编译指定的源文件,但是不进行汇编
-c 编译、汇编指定的源文件,但不进行链接

-o [file1] [file2] /

[file2] -o [file1]

将文件file2编译成可执行文件file1
-I directory 指定includ包含文件的搜索目录
-g 在编译时生成调试信息,该程序可以被调试器调试
-D 在程序编译时指定一个宏
-w 不生成任何警告信息
-Wall 生成所有警告信息
-On n的取值范围:0~3。编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-l 在程序编译时指定使用的库
-L 在指定编译时,搜索的库的路径
-fPIC/fpic 生成共享目标文件,通常用在建立共享库时
-shared 生成共享目标文件,通常用在建立共享库(动态库)时
-std 指定C方言,如:-std=C99,gcc默认的方言是GNU C

猜你喜欢

转载自blog.csdn.net/tju_zxl/article/details/127146243