gcc编译器

     1).使用gcc编译器细分每一个编译的步骤,可以分为4个步骤:
                                       c文件                   汇编文件                 二进制文件                 可执行文件
            hello.c--预处理器(cpp)--> hello.i --编译器(gcc)--> hello.s --汇编器(as)--> hello.o --链接器(Id)--> a.out
                        gcc -E                     gcc -S                       gcc -c                    gcc
        2).编译工具链:
            预处理器(cpp)-->头文件展开,宏替换,注释去掉        gcc -E hello.c -o hello.i
            编译器(gcc)     -->c文件变成汇编文件                    gcc -S hello.i -o hello.s
            汇编器(as)   -->汇编文件变成二进制文件                gcc -c hello.s -o hello.o
            链接器(Id)     -->将函数库中相应的代码组合到目标文件    gcc hello.o -o hello.out
            
            将 c文件 编译成 汇编文件是比较耗时的
        3).-I 指定头文件的路径
        gcc sum.c -I ./include  -o app  【-I 指定头文件的路径,头文件.h跟当前文件不在同一个目录下】
        
        4).-D 在编译时候指定宏定义【控制log输出】
        gcc sum.c -D DEBUG -o app.out   【DEBUG--#define DEBUG】
        
        5).-On  n=0,1,2,3
            -O0 没有优化
            -O1 缺省值
            -O3 优化级别最高
            
        6).-Wall 提示更多警告信息
        7).-g gdb调试的时候必须加此参数
        8).-o 对生成文件的名字做个指定
原文地址:https://www.cnblogs.com/zheaven/p/14096385.html