我正在尝试使用 doxygen 记录我的 C 代码。我使用#define 将一些默认值设置为宏。 (我知道 C 没有默认值,但这只是一个例子)
例如:
#define DEFAULT_WIDTH 100
#define DEFAULT_HEIGHT 200
在 doxygen 中,我添加了一个别名,以我想要的方式处理默认值。考虑下面的示例函数
//! Initializes something
//! @param width The width @default DEFAULT_WIDTH
//! @param height The height @default DEFAULT_HEIGHT
//! @return Result of initialization
char initSomething(int width,int height);
除一个重要事实外,这将生成我想要的文档。 DEFAULT_WIDTH 和 DEFAULT_HEIGHT 没有展开,我得到的是宏名称,而不是分别是 100 和 200。我确实选中了 MACRO_EXPANSION 和 ENABLE_PREPROCESSING。
我错过了什么?实际上有什么方法可以使用 doxygen 来实现吗?
我正在使用 doxywizard 配置 doxygen,我目前正在 Windows 下进行测试。
编辑:正如 ugoren 指出的那样,可以只记录宏,然后 doxygen 会将该文档链接到它们。实际上,这就是我当前在项目中的实现方式。但我正在尝试考虑其他选项 - 如果存在的话。
最佳答案
我认为没有什么比 MACRO_EXPANSION 和 ENABLE_PREPROCESSING 更强大的了。
问题可能是注释中的宏通常不会展开。这是有充分理由的 - 想象宏 max
在文档中展开。
您可以记录宏,以便文档的读者能够轻松找到真正的值(value)。
关于c - 在 C 的 doxygen 文档中扩展非函数宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9299608/