在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配置文件应随附发行版。)