gpt4 book ai didi

c++ - 在 C++Builder 中显示 #include 层次结构

转载 作者:太空宇宙 更新时间:2023-11-04 13:06:08 25 4
gpt4 key购买 nike

我在处理别人的代码时遇到了问题,似乎是乱序包含的头文件。 (例如,我遇到重新定义错误,其中一些错误甚至在同一个文件中!)查看 C++Builder 编译器正在使用的 #include 树会很有用,类似于 Visual Studio 的 -showIncludes 标志。有没有这样的功能;如果是这样,我如何访问它?我专门使用 C++Builder 2007。

最佳答案

如果多次包含包含全局常量、变量,有时甚至是 #defines 的文件,通常会发生这种情况。这对于 MDI 应用程序非常常见,其中主 Form 包含子 Form 的包含,其中一些使用相同的库 ...

包含层次结构对此没有帮助,除非您计划编辑所有源文件 #include 顺序,这可能会导致以后出现问题(尤其是兼容性)...

要解决这个问题,您应该将所有此类文件封装为

#ifndef _file_name_h
#define _file_name_h
// here your source and includes
#endif

声明。就像这个例子:

这将防止在预编译器级别进行多次定义和编译,因为只会在第一次处理源代码(而 #define _file_name_h 仍未定义)。

关于c++ - 在 C++Builder 中显示 #include 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com