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

我试图使用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强。
问题可能是注释中的宏通常不会扩展。 有一个很好的理由 – 想象宏扩展在文档中。

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

添加类似的东西

 EXPAND_AS_DEFINED += DEFAULT_WIDTH 

到你的doxygen配置文件。

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