我正在尝试使用doxygen来记录我的C代码。我有一些默认值设置为#define的宏。 (我知道C没有默认值,但这只是一个例子)
e.g:
#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会将文档链接到它们。这就是我当前实现在我的项目中的实际情况。但我正在尝试考虑其他选项 - 如果存在的话。
答案 0 :(得分:2)
我认为没有比MACRO_EXPANSION和ENABLE_PREPROCESSING强的东西了。
问题可能是注释中的宏通常不会扩展。有一个很好的理由 - 想象宏max
在文档中扩展。
您可以记录宏,因此文档的读者可以轻松找到真正的价值。
答案 1 :(得分:2)
添加类似
的内容EXPAND_AS_DEFINED += DEFAULT_WIDTH
到你的doxygen配置文件。
(P99的文档中充满了这样的宏扩展。它的doxygen配置文件应随附发行版。)