我需要一种方法让 doxygen 在 doxygen 输出中显示枚举成员的实际值。
例如我有:
///MyEnum
typedef enum My_Enum
{
MY_ENUM_0,///<MY_ENUM_0
MY_ENUM_1,///<MY_ENUM_1
MY_ENUM_2 ///<MY_ENUM_2
} My_Enum;
输出是:
MyEnum.
Enumerator:
MY_ENUM_0
MY_ENUM_0.
MY_ENUM_1
MY_ENUM_1.
MY_ENUM_2
MY_ENUM_2.
我想要的是:
Enumerator:
MY_ENUM_0
0 MY_ENUM_0.
MY_ENUM_1
1 MY_ENUM_1.
MY_ENUM_2
2 MY_ENUM_2.
或者类似的东西。
我想不出直接从 doxygen 执行此操作的方法。 Doxygen 不是 C 编译器。因此它不会导出作为编译时常量的枚举的值。
doxygen 能做的最接近的事情是有选择地扩展您的宏 http://www.doxygen.nl/manual/preprocessing.html因为它确实有一个 C 预处理器。如果您将某些值分配给通过预处理器扩展派生的常量,doxygen 可以扩展宏并显示将分配的内容。
基于 TheCodeArtist 的答案,您可能会考虑编写在 doxygen 之前运行的脚本,复制文件,搜索此模式:
enum *** {
***, ///< %VAL%:
并将每次出现的 %VAL% 替换为应有的值,这样您就不必手动跟上数字。 doxygen 运行后,包含 %VAL% 标记的原始文件需要替换。这不是一个特别优雅或强大的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)