在 Visual Studio 中显示 C++ 文件的 #include 层次结构。

9 浏览
0 Comments

在 Visual Studio 中显示 C++ 文件的 #include 层次结构。

问题:我有一个庞大的Visual C++项目,我正尝试将其迁移到Visual Studio 2010。这是一个来自各种来源和各个年代的大杂烩。我遇到问题是因为某个东西同时包含了winsock.hwinsock2.h。\n问题:有哪些工具和技术可以显示Visual Studio C++源文件的#include层次结构?\n我知道可以使用cl /P来获取预处理器输出,但这并没有清晰地显示哪个文件包含了哪些其他文件(而且在这种情况下,/P输出有376,932行长8-)\n在理想的世界里,我希望能够显示一个层次结构,显示哪些文件包含了哪些其他文件,同时包含行号,这样我就可以跳转到源代码中:\n

source.cpp(1)
  windows.h(100)
    winsock.h
  some_other_thing.h(1234)
    winsock2.h

0
0 Comments

问题出现的原因是IncludeManager这个工具只支持Visual Studio 2005到2013的版本,而现在的Visual Studio版本已经更新到了更高的版本,因此IncludeManager不再可用。

解决方法是寻找其他替代工具来完成相同的功能。可以考虑使用其他的include hierarchy工具,或者手动整理和分析代码中的include关系。另外,也可以尝试使用更高版本的Visual Studio自带的工具来进行代码分析和优化。

0
0 Comments

在Visual Studio中,有时候我们需要查看C++文件的#include层次结构。然而,默认情况下,Visual Studio并不提供直接的方法来显示这个层次结构。但是,我们可以通过使用编译器的特殊开关来实现这个目标。

编译器支持一个名为/showIncludes的开关,它可以显示一个相当全面的视图,告诉我们每个#include语句来自哪里。尽管它不会给出行号,但是它仍然是一个非常有用的工具。要使用这个开关,我们需要在Visual Studio中进行一些设置。

首先,我们需要打开项目设置。在Visual Studio菜单中,选择项目 -> 属性。然后,在属性窗口中,选择配置属性 -> C/C++ -> 高级设置。在高级设置中,我们可以找到一个名为"Show Includes"的选项。将其设置为"是",即可启用/include层次结构的显示。

使用/showIncludes开关可以很方便地查看#include层次结构,但是需要注意的是,它只显示#include语句,而不包括其他类型的文件包含关系,如库文件等。

总结起来,要在Visual Studio中显示C++文件的#include层次结构,我们可以使用编译器的/showIncludes开关。通过在项目设置中启用"Show Includes"选项,我们可以方便地查看#include语句的来源。这对于理解代码的依赖关系和解决编译错误非常有帮助。

0
0 Comments

问题:如何在Visual Studio中显示C++文件的#include层次结构?

原因:在Visual Studio中显示C++文件的#include层次结构需要进行特定的设置。有一个名为"Show Includes"的选项可以生成该层次结构,该选项位于项目设置的"Configuration Properties" -> "C/C++" -> "Advanced"中。这个选项对应着编译器开关"/showIncludes"。

解决方法:在Visual Studio中显示C++文件的#include层次结构可以按照以下步骤进行操作:

1. 打开项目设置。

2. 导航到"Configuration Properties" -> "C/C++" -> "Advanced"。

3. 将"Show Includes"选项设置为"True"。

4. 编译项目。

注意:可以在输出窗口中查看层次结构。

其他提示:

1. 即使选择了Clang平台工具集,也可以通过在"C/C++" -> "Command Line" -> "Additional Options"中添加"-H"来显示#include层次结构。

2. /showIncludes开关只有在项目级别设置了/showIncludes时才会生效。

3. 确保属性对话框中的配置和平台与正在构建的项目匹配,否则可能无法看到预期的输出。

4. 启用该选项会使构建过程串行化,因此如果保持开启状态会有一定的成本。

通过在Visual Studio中进行特定的设置,我们可以显示C++文件的#include层次结构,这对于理解代码的依赖关系和调试非常有帮助。尽管/showIncludes功能不如gcc的“included from”功能强大,但在Visual Studio中仍然是一个非常有用的工具。

0