owa*_*agh 1 c-preprocessor preprocessor-directive
是否可以在预处理之前查看ac/c ++文件?或者更确切地说,只是半心半意的预处理?基本上有一个
#define <commonly_used_word> 0
Run Code Online (Sandbox Code Playgroud)
在第三方库标题中,我想弄清楚它在哪里.所以基本上,我只是希望编译器包含所有头文件而不是预处理器.
您的原始源文件是预处理之前的文件.
听起来你想要#include
处理你的指令,但你想保持宏不被替换.这两个动作都由预处理器执行.
在一般情况下,这是不可能的,因为在C和C++中使用宏作为包含文件名是合法的,如
#define INCLUDE_FILE "stdio.h"
#include INCLUDE_FILE
Run Code Online (Sandbox Code Playgroud)
实现您想要的功能需要专门设计的预处理器来满足您的要求.举个例子,我不知道任何这样的预处理器实现.
如果要查找定义特定宏的位置,可以尝试以下技巧:在包含任何标头之前,使用相同的名称定义自己的宏,然后开始编译.当编译器(预处理器)遇到同一个宏的库定义并指出它的位置时,它应该抱怨宏重定义.