gcc编译器

Posted Hard Road, Hard Code

tags:

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

gcc的工作流程

gcc编译器将c源文件到生成一个可执行程序,中间一共有四个步骤

  1. 预处理器,头文件展开、宏替换、去掉注释
    gcc -E test.c -o test.i
  2. 编译器,转化为汇编文件
    gcc -S test.i -o test.s
  3. 汇编器,转化为二进制文件
    gcc -c test.s -o test.o
  4. 链接器,将库文件组合到目标文件生成可执行程序
    gcc test.o -o test

也可一步生成可执行程序
gcc test.c -o test

gcc常用参数

-v  查看gcc版本号, --version也可以
-E  生成预处理文件
-S  生成汇编文件
-c  只编译, 生成.o文件, 通常称为目标文件
-I  指定头文件所在的路径
-L  指定库文件所在的路径
-l  指定库的名字
-o  指定生成的目标文件的名字
-g  包含调试信息, 使用gdb调试需要添加-g参数
-On n=0∼3 编译优化,n越大优化得越多

静态库和动态库

静态库 .a为后缀
动态库 .so为后缀
前者执行速度快,移植方便,最大缺点复用性差后者刚好相反
还有基本的生成库文件的方法和使用的方法有所不同

以上是关于gcc编译器的主要内容,如果未能解决你的问题,请参考以下文章

GCC优化技巧,真的有用吗?

GCC/MingW 在不同版本上编译

解释'空'C数组(int a = {};)

将系统 C 安装到 Cygwin

vs怎么使用是gcc代码怎么写?

GCC编译器原理------交叉编译器制作和GCC组件及命令