【发布时间】:2008-11-14 18:28:19
【问题描述】:
假设我在各种头文件中有#define foo。它可能会扩展到一些不同的事物。我想知道(在编译 .cc 文件时)遇到#define 时,它会扩展什么,它是哪个文件以及它是从哪里包含的。
有可能吗?如果没有,是否有任何可能有帮助的部分解决方案?
如有澄清请求,请随时添加 cmets。
编辑:当前的答案似乎集中在有一个#define 并且我只想跳到定义或知道定义是什么的情况上。这是简单的情况,是的,您的解决方案有效。但是当我在不同的文件中有相同的#define,并且想知道哪个是第一个启动时,这些技术都没有用。好的,我实际上使用#warning 仔细找到了正确的位置。但这需要做很多工作。
【问题讨论】:
-
当它在编译时运行到您的宏中时,您究竟希望它做什么?
-
@Greg:打印信息:刚刚定义了这样的。将扩展到(...)。这是在文件 (...) 的行 (...) 中。包含自(“#includes 回溯到我的 .cc 文件)。
-
我对任何有影响的软件都有一种非常糟糕的感觉。
标签: c++ gcc c-preprocessor