• 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
  • 相关阅读:
    动手动脑
    选课1.0
    四则运算
    JAVA异常处理机制资料整理
    JAVA学习日报(快乐作业) 10.27
    JAVA学习日报(快乐作业) 10.20
    JAVA学习日报 9/30
    JAVA学习日报 9/28
    JAVA学习日报 9/27
    JAVA学习日报 9/26
  • 原文地址:https://www.cnblogs.com/fandx/p/12518355.html
Copyright © 2020-2023  润新知