Skip to content

gcc-g++参数

  1. 编译步骤

  2. 预处理,生成.i文件

  3. 将预处理后的文件转换成汇编语言,生成.s文件
  4. 由汇编变为目标代码,生成.o文件
  5. 连接目标代码,生成可执行程序
  6. 常用参数

  7. -c

只激活预处理、编译、汇编,不连接,生成obj(*.o)文件

  1. -o

指定目标文件名称

  1. -S

预处理+编译,不进行汇编连接

  1. -E

只进行预处理

  1. -O0/-O1/-O2/-O3

编译器优化的4个级别,-O0没有优化,-O1为默认值,-O3优化级别最高

  1. -g

在编译时产生调试信息

  1. -ggdb

尽可能生成gdb可以使用的调试信息

  1. -w

不生成任何警告信息

  1. -Wall

生成所有警告信息

  1. -Wl,-options1,-options2

连接选项

  1. -LLIBRARY

连接时搜索指定的函数库

  1. -IDIRECTORY(这是大写的i)

指定额外的头文件搜索路径

  1. -nostartfiles -nostdlib

需要脱离linux运行裸机,-nostartfiles不连接系统标准启动文件,-nostdlib包含了-nostartfiles,以及标准库

  1. -static

静态连接共享库文件

  1. -shared

连接多个目标文件,生成一个.a结尾的共享库文件