Doxygen和多个同名 #defines
Doxygen and multiple #defines with the same name
这是我用Doxygen尝试的一个小实验。假设我有 6 个文件:
h1.h:
class A
{
public:
int func1();
}
f1Data.h:
#define val 10
F1.cpp:
#include "h1.h"
#include "f1Data.h"
int A::func1()
{
return val;
}
h2.h:
#include "h1.h"
class B: public A
{
public:
int func2();
};
f2Data.h
#define val 20
F2.cpp
#include "h2.h"
#include "f2Data.h"
int B::func2()
{
return val;
}
当我在配置文件中输入 GENERATE_XML=yes 和 CALL_GRAPH=yes 并运行 doxygen 时,我在生成的 XML 文件中看到了一个错误。特别是,我看到在 A::func1() 的引用中,给出了来自 f2Data.h 的 #defined 值,而不是来自 f1Data.h 的 #defined 值。仅当两个文件中的宏名称相同时,才会发生这种情况[在本例中为 val]。
谁能告诉我这是doxygen的错误还是我不正确使用doxygen?
Doxygen在处理代码时做了几个假设:
- 标头受到适当保护(因此只需处理一次)。
- 公共符号名称在单个项目中是唯一的。
这些通常是良好的编程实践,但正如您的示例所示,C 不会强制执行。
如果您不遵守上述两条规则,则氧气的输出可能不正确。
相关文章:
- 使 \page 和 \subpage 参考 doxygen 中的方法文档
- Doxygen - 如何在不生成图形的情况下生成文本调用关系结果
- 使用 Doxygen 记录枚举类值,而不启用EXTRACT_ALL
- 带有 *.in 文件的 Doxygen
- 记录Doxygen中的命名
- Doxygen:不为非成员函数生成超链接
- 使用 Doxygen 在不同文件中注释函数
- 如何设置叮当格式的注释编译指示,以免触及多行doxygen注释?
- c++ Doxygen example and description
- 如何在同时包含C++和Python的项目(多编程语言项目)中使用doxygen
- 如何配置 Doxygen 以在"Class Index"中包含类的类型定义?
- 如何确保 C/C++ 代码中不会缺少 doxygen 风格的文档注释?
- 使用 Doxygen 和非 Doxygen 注释源代码创建文档
- 如何在不创建新配置的情况下对两个不同解决方案使用的一个项目使用不同的 #defines
- 如何从 doxygen 创建的 html 更改回代码
- 使用 cmake 构建 dOxygen 的问题
- Doxygen不会为独立函数生成文档
- 如何从doxygen输出中排除类的无证件成员函数/变量
- Doxygen,当参数类型定义使签名相同时,如何拆分函数文档?
- Doxygen和多个同名 #defines