gcc编译工具链

  • Post author:
  • Post category:其他


GCC全称GNU编译器套件(GNU Compiler Collection)是一个非常强大的编译工具,其主要应用于Unix环境下,可以编译C、C++、Java代码等,本问主要讲解gcc在linux环境下安装及使用。


目录


gcc安装


gcc使用


gcc编译步骤


gcc常用参数


gcc安装

gcc安装很简单,直接sudo apt install gcc 即可。

sudo apt install gcc                  (gcc安装)

安装成功后可以使用 gcc -v 选项查看其版本信息。


gcc使用

gcc编译步骤

gcc -E  预处理阶段——主要进行头文件加载,宏展开,条件编译处理,以及删除行,空格,注释等,gcc -E过后生成的文件为 xxx.i 文件。

gcc -E test.c -o test.i (对c文件进行预处理生成对应的i文件)

gcc -S 编译阶段——这个过程主要是检查语法规范,其消耗的时间和资源最多,编译后生成对应

的汇编语言文件 xxx.s文件。

gcc -S test.c/test.i -o test.s (编译生成汇编文件)

gcc -c 汇编阶段——这个过程很显然就是对汇编文件进行翻译,生成其对应的二进制代码,汇编后生成 .o 文件。

gcc -c test.c/test.i/test.s -o test.o (汇编生成机器码)

链接阶段——这是编译的最后阶段,这个阶段没有参数,其主要进行数据段合并和地址回填,以及使用静态库是静态库加载,生成可执行文件 a.out 。

gcc test.c/test.i/test.s/test.o -o test_out  (链接生成可执行文件)

注:gcc -o 是指定生成文件名,而不是链接参数。

gcc常用参数

gcc -v 查看gcc版本信息。

gcc -I(大写i) 指定头文件所在位置。

gcc -c 只做预处理、编译、汇编 ,生成 .o 文件。

gcc -g 编译时得到调试文件。

gcc -l(小写L) 指定动态库。

gcc -L 指定动态库所在路径。

gcc -O n(n属于1~3)编译器优化程度,值越大编译器优化程度越大。

gcc -Wall 显示所以警告信息

gcc -D 向程序中动态注册宏定义



版权声明:本文为LIUXIANGJY原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。