C / C ++:如何找出给定定义的头文件链?

时间:2010-07-05 06:44:26

标签: c++ c visual-studio visual-c++ header

在Visual C ++中,可以通过按F12或选择转到定义来找到任何名称(变量或类型)定义的头文件即可。此功能非常有用,但它仅显示定义名称的最终位置(头文件)。有没有办法找出从我的源文件到给定名称的最终头文件的头文件的

例如,请考虑以下代码:

// main.cpp    
#include <stddef.h>
int main()
{
    size_t s;
    return 0;
}

在Visual C ++ 2010中,如果我在上面的size_t中查找main.cpp的定义,它会将我置于一个名为sourceannotations.h的文件中。我知道此标头链以stddef.h(我已包含)开头,以sourceannotations.h结尾。如何弄清楚这个链中间的链接?

3 个答案:

答案 0 :(得分:12)

  1. 右键单击项目“项目属性”
  2. “配置属性” - &gt; “C / C ++” - &gt; “高级”。
  3. 将“显示包含”设置为“是”。
  4. 编译每个文件时,将在输出窗口中打印完整的标题层次结构。

答案 1 :(得分:1)

您可以使用Doxygen,Understanding Analyst等逆向工程工具。这将有助于您了解变量,函数调用的全部流程。

答案 2 :(得分:1)

在属性对话框的C / C ++,预处理器下,启用对文件的预处理。如果编译main.cpp,这将生成main.i。

然后,您可以查看main.i并查看哪个文件包含其他文件。