2012-01-10 113 views

回答

2

在GCC中,使用gcc -E source.c仅显示预处理器的输出。

相同的叮当,我相信。

对于其他编译器,请参阅手册。这应该明确记录。

+0

哇,我不能相信我错过了这个!谢谢。一个简单的问题是:在读取输出时,是否只有不以'#'开头的行被发送到编译器? – 2012-01-10 22:29:09

+0

@AdamS:不是。编译器仍然需要其余指令来生成错误消息中正确的文件名和行号输出。 – 2012-01-10 22:31:53

1

这正是BoostWave已创建。

波浪C++预处理器库是一个标准一致实现的填充后面一个简单易用的界面处的授权C99/C++预处理器的功能,它与标准模板库(STL)的公知的惯用语以及集成。

0

几乎所有我使用的C++编译器都有其命令行开关来执行此任务;在g ++上它是-E(它在stdout上写输出,见manpage),在VC++上它是/EP(输出到stdout)或/P(输出到文件)。

+0

对于VC++,还有'/ E'和'/ EP'。 – ildjarn 2012-01-10 22:05:21