2016-05-30 74 views
1

是否存在可以传递给这些预处理器之一的标志,导致预处理器无法解析代码中的任何宏?我试图用它来连接任何包含的头文件到一个文件中,谢谢!使用gcc或cpp预处理C代码而不解析宏

+4

@sleeptightpupper RTFM是不是真的很好(或专业)。你会如此回应你的客户吗? –

+0

感谢您的帮助。我试着在几个不同的地方看,但没有在正确的地方看。对不起,如果这似乎是一个愚蠢的问题,我真的试图找到答案。 – rreichel

回答

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 
0

AFAIK没有这样的标记,如果你只想连接头文件 - 继续写一个简短的程序。

你可能无论如何都需要sch程序,因为预处理程序不仅仅包含头文件和扩展宏,它还负责连接字符串,例如“This”和“”That“变成了”ThisAndThat“。你会得到你的信息来源获取某些意想不到的变化呢。