如何使用Dev-C ++ IDE保存预处理器输出?

时间:2016-08-19 01:26:47

标签: ide c-preprocessor dev-c++

我希望能够查看预处理器输出,以确保我的预处理器指令正确运行。 Dev-C ++在Tools>中有一个选项。编译器选项...>一般在调用编译器时添加命令,并且我添加了命令-E C:\ Personal \ preprocessed.cpp。我收到编译错误,说该文件不存在,但编译器是否应该只创建该文件?我创建了该文件,现在我收到此错误:cannot specify -o with -c, -S or -E with multiple files

为什么我使用Dev-C ++而不是Visual Studio?由于我还在学习,我希望能够只测试几行代码,而无需创建an entire new project

是的,我已经看过this question并且没有给出足够的答案。请不要将此标记为副本。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  

我已添加命令-E C:\ Personal \ preprocessed.cpp。我收到编译错误说文件   不存在,但编译器不应该在这种情况下创建文件吗?

不,因为-E option 不带参数,文件名或其他。它只是指示 编译器只做预处理。预处理的代码被写入标准输出。因此:

因此:

g++ -E C:\Personal\preprocessed.cpp foo.cpp

告诉编译器您希望使用输入文件对g++ -EC:\Personal\preprocessed.cpp运行foo.cpp, 正如你所发现的那样是不允许的。

使用您选择的IDE,您想要做的简单事情是非常困难的。假设 您要预处理的源文件是C:\Personal\foo.cpp,而g++位于您的PATH中, 只需在C:\Personal中打开命令窗口并运行:

g++ -E foo.cpp > foo.ii

我建议输出文件foo.ii - 尽管你可以随意调用它 - 因为g++将扩展名.ii识别为表示已经过预处理的C ++源代码。你可以运行:

g++ -Wall -o prog foo.ii

foo.ii将被编译并链接为程序prog,而无需再次进行预处理。