Skip to content

Latest commit

 

History

History
27 lines (23 loc) · 644 Bytes

gcc-dive.md

File metadata and controls

27 lines (23 loc) · 644 Bytes

编译基础

源代码->预处理器->汇编处理器->目标程序->链接器->可执行程序

编译过程

预处理

该步骤完成宏和include展开工作。在gcc中使用参数e可以控制gcc只完成预处理工作,而不惊醒其他编译工作。

    gcc -E -o test.c

生成汇编代码

编译器将预处理生成的代码进行处理,并根据编译参数进行优化,最后生成汇编代码。gcc使用参数S可以控制只完成编译的前两步。
    gcc -S test.c

生成目标代码

    gcc -c test.c

链接生成最终可执行代码

    gcc -o test test.c