简介C/C++预处理器的一些工作

2020-01-06 13:14:49丽君

那么当你运行预处理器时实际会发生什么呢?

1. 替换所有的三字母组合,我会在将来的一篇文章中谈论到他,因为尽管他只是一个历史上的特性(而且你也要在GCC中对它进行切换),它仍让是很有趣的.

2. 将并列的源代码分成多行.

3. 移除所有的注释并用一个空格替换.

4. 处理(我们上面讲到的)的预处理器指令。对于 #include, 他会在新文件上递归执行1 - 3步 :-)

5. 处理转义序列.

6. 把文件发送给编译器

如果你想看看预处理之后你的文件会是什么样子 (谁不想呢?),你可以向 gcc 传入 -E 选项. 这将会想stdout标准输出发送预处理过的源代码,并且没有编译和连接就直接终止gcc命令的执行。

例如

 

 
  1. g++ -E myfile.cpp 

你也可以使用这个参数:

 

 
  1. -save-temps 

编译的后会有一份临时文件。

拿下面这个简单的程序说吧: