深入理解C语言编译流程与Make工具的使用
1. C语言编译的四个阶段
C语言程序的编译过程主要分为四个阶段,下面为你详细介绍每个阶段的操作和作用。
- 预处理阶段 :使用 -E 和 -P 选项生成预处理文件。 -E 选项让GCC在预处理文件后停止,即创建预处理文件; -P 选项用于让预处理器不在预处理文件中包含行标记,以获得干净的输出文件。所有 #include 语句会将对应文件的内容包含到预处理文件中,宏(如 NUMBERS )会被实际的数字替换。预处理文件通常以 .i 为扩展名。
- 编译阶段 :对预处理文件进行编译,创建汇编语言文件。使用 -S 选项,告诉GCC在编译过程完成后停止。汇编文件通常以 .s 为扩展名。
- 汇编阶段 :将汇编语言文件转换为目标文件。使用 -c 选项,告诉GCC在汇编阶段(或编译后)停止。目标文件通常以 .o 为扩展名。
- 链接阶段 :将所有目标文件链接成一个可执行的二进制文件。默认情况下,GCC会完成所有步骤并最终将文件链接成一个二进制文件。
下面是编译流程的mermaid流程图:
超级会员免费看
订阅专栏 解锁全文
3477

被折叠的 条评论
为什么被折叠?



