我们想要得到一个可执行的c++程序需要对程序进行编译和链接,具体可分为预处理、编译、汇编、和链接。老生常谈了。
其中预编译也就是预处理为第一步。预处理作为首步,将cpp文件预编译为.i文件,可以用一下命令来完成:
gcc -E hello.c -o hello.i
or
cpp hello.c > hello.i
预编译主要处理以#开头的#define和#include。
1. 将#define删除,并将宏定义展开。
2. 将注释删除
3. 将#include包含的内容以递归的方式打包入.i文件。
4 保留#pragma
5. 处理所有预编译指令 #if #ifndef #endif等。
6. 添加行号和文件名标识,为了方便产生编译错误和警告时显示行号。
.i文件中不包含任何宏定义,并且#include文件被打包进入.i文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)