是否存在可以传递给其中一个预处理器的标志,导致预处理器无法解析代码中的任何宏?我试图将它用于将任何包含的头文件连接到一个文件中。谢谢!
答案 0 :(得分:4)
-fdirectives-only
When preprocessing, handle directives, but do not expand macros.
阅读完整条目以获取完整的详细信息。
添加-P
选项以禁止#line
指令,例如
g++ -E -P -fdirectives-only ... file.cpp
或:
cpp -P -fdirectives-only ... file.cpp
答案 1 :(得分:0)
AFAIK没有这样的旗帜。如果您只想连接头文件 - 请继续为此编写一个简短的程序。
你可能无论如何都需要sch程序,因为预处理器不仅包括头文件和扩展宏。它也是负责任的用于连接字符串文字,例如"这""而""也就是说"转变为" ThisAndThat"。因此,无论如何,您的来源都会有一些意想不到的变化。