使用gcc或cpp预处理C代码而不解析宏

时间:2016-05-30 18:22:12

标签: c++ gcc c-preprocessor

是否存在可以传递给其中一个预处理器的标志,导致预处理器无法解析代码中的任何宏?我试图将它用于将任何包含的头文件连接到一个文件中。谢谢!

2 个答案:

答案 0 :(得分:4)

来自the manual

-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"。因此,无论如何,您的来源都会有一些意想不到的变化。