编译的四个过程-预处理、编译、汇编、链接

编译的四个过程-预处理、编译、汇编、链接

程序编译成可执行文件的过程可分为四步:预处理、编译、汇编、链接。下面将以main.c为目标文件进行详细讲解:

一、预处理:

通过gcc -E main.c -o main.i 生成.i文件将进行如下操作:

1、将所有的#define删除,并展开所有的宏定义。

2、处理所有的预编译指令,例如:#if,#elif,#else,#endif等。

3、处理#include预编译指令,将被包含的文件插入到预编译指令的位置。

4、添加行号信息、文件名标识,便于调试。

5、删除所有的注释。

6、保留所有的#pragma编译指令,因为在编写程序的时候,我们经常要用到#pargma指令来设定编译的状态或者是指示编译器完成一些特定的动作。

7、生成.i文件(包括去注释、宏替换、头文件展开、条件编译),编译生成的.i文件不包含任何宏定义,因为宏已经被展开,并且包含的文件已经被插入到.i文件中。

相关推荐

体育/国际足联世界杯,2018,阿根廷,里奥·梅西
365bet在线注册

体育/国际足联世界杯,2018,阿根廷,里奥·梅西

📅 06-29 👁️ 3056
2026年世界杯预选赛赛程一览:各大洲角逐,通往北美的战斗正式打响!
阴阳师氪金指南:性价比礼包与充值活动
365bet在线注册

阴阳师氪金指南:性价比礼包与充值活动

📅 06-27 👁️ 3561