4步实现gcc编译

gcc编译的4步骤

  • 预处理 (hollo.c->hello.i)

     gcc -E
    
    • 展开宏,头文件

    • 替换编译条件

    • 删除注释,空行,空白

  • 编译 (hello.i->hello.s)

    gcc  -S
    
    • 检查语法规范
    • 最消耗时间,系统资源最多
  • 汇编 (hello.s->hello.o)

    gcc -c
    
    • 将汇编指令翻译成机器指令
  • 链接 (hello.o->a.out)

    • 数据段合并
    • 地址回填

GCC的一些方法

参数 作用 案例
-I 大写的I,可以指定头文件路径 gcc -I ./inc hello.c -o hello
-o 小写的o,可以将文件直接编译成可以执行文件.exe/.out gcc hello.c -o hello.out
-c 小写的c,只做预处理,编译,汇编,编译成.o的文件的二进制文件 gcc hello.c -c
-g 小写的g,编译的时候添加调试文件 gcc hello.c -o hello -g
-On 大写的O,进行优化需要跟上优化的数值,比如O1,O2,O3,默认是2级,范围是0-3,n的范围越大优化越好 gcc hello.c -o hello -O3
-Wall Wall,可以提示更多的警告 gcc hello.c -o hello -Wall
-D 在编译的时候可以指定宏执行,动态注册宏 gcc hello.c -D hello
posted @ 2020-03-18 16:46  FANDX  阅读(396)  评论(0编辑  收藏  举报