在C的doxygen文档中展开非函数宏

时间:2012-02-15 19:06:01

标签: c doxygen

我正在尝试使用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会将文档链接到它们。这就是我当前实现在我的项目中的实际情况。但我正在尝试考虑其他选项 - 如果存在的话。

2 个答案:

答案 0 :(得分:2)

我认为没有比MACRO_EXPANSION和ENABLE_PREPROCESSING强的东西了。
问题可能是注释中的宏通常不会扩展。有一个很好的理由 - 想象宏max在文档中扩展。

您可以记录宏,因此文档的读者可以轻松找到真正的价值。

答案 1 :(得分:2)

添加类似

的内容
EXPAND_AS_DEFINED += DEFAULT_WIDTH

到你的doxygen配置文件。

(P99的文档中充满了这样的宏扩展。它的doxygen配置文件应随附发行版。)