gcc基本功能以及常见编译选项

Posted ade303

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc基本功能以及常见编译选项相关的知识,希望对你有一定的参考价值。

1、gcc xxx.c主要包含以下4部分功能:

(1) 预处理:主要实现对头文件的包含以及宏替换等

(2) 编    译:主要将高级语言转换为汇编语言

(3) 汇    编:主要将汇编语言翻译成机器指令,得到目标文件

(4) 链    接:主要将目标文件和库文件进行链接,生成可执行文件

 

2、常见的编译选项

(1)  -E - 进行预处理,预处理的结果默认输出到控制台

  使用gcc -E xxx.c -o xxx.i   将预处理结果定位到xxx.i文件中,预处理后的文件主要包含:头文件,类型的别名,各种函数的声明等等

(2)  -S - 进行编译处理,生成汇编文件xxx.s

(3)  -c - 进行汇编处理,生成目标文件xxx.o

(4)  gcc/cc xxx.o - 链接处理,生成可执行文件a.out

例:

  gcc/cc -E xxx.c -o xxx.i

=> 预处理,生成 .i 文件 

  gcc/cc -S xxx.i/xxx.c

=> 编译,生成 .s 文件

  gcc/cc -c xxx.s/xxx.i/xxx/c

=> 汇编,生成 .o文件

  gcc/cc xxx.o/xxx.s/xxx.i/xxx.c

=>链接,生成a.out文件

 

3、熟悉的选项:

  -std     - 主要用于指定编译时遵循的C标准

  -Wall   - 主要用于尽可能的产生警告信息

  -Werror  - 主要用于将警告当做错误进行处理

 

4、了解的选项:

  -v   - 主要用于查看gcc的版本信息

  -g   - 主要用于生成调试信息(gdb调试)

  -O   - 主要用于进行优化处理

  -x     - 主要用于显示指定源代码的编程语言

 

5、 扩展的选项

  man gcc/cc 查看gcc更多的选项等信息

以上是关于gcc基本功能以及常见编译选项的主要内容,如果未能解决你的问题,请参考以下文章

gcc的使用简介与命令行参数说明

GCC基本用法

这个 gcc 编译器命令中的 -z 选项是啥?

GCC选项

gcc基本用法

gcc简介和命令行参数说明