我需要一种方法来让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.
或者类似的东西。
2条答案
按热度按时间q8l4jmvw1#
我想不出一种直接从doxygen中实现的方法。Doxygen不是C编译器,所以它不会派生枚举的值,枚举是一个编译时常量。
doxygen可以做的最接近的事情是selectively expand your macros,因为它确实有一个C预处理器。所以如果你有一些值被分配给一个常量,这个常量是通过预处理器扩展得到的,doxygen可以扩展宏,并向你显示将要分配的内容。
基于TheCodeArtist的回答,你可以考虑编写一个在doxygen之前运行的脚本,复制你的文件,搜索这个模式:
并将每次出现的%瓦尔%替换为应有的值,这样您就不必手动跟上数字。在doxygen运行后,包含%VAL%令牌的原始文件将需要被替换。这不是一个特别优雅或健壮的解决方案。
rdrgkggo2#
使用doxygen,我们可以记录:
enum
*下面的代码片段描述了上述所有3个示例。
还要注意,由于宏/枚举扩展不会发生在doxygen注解中。如果在doxygen注解中使用了任何宏/枚举,则需要使用
INPUT_FILTER
扩展它们。例如:以下代码段需要
还可以查看这个**answer**,了解多种doxygen评论风格的详细信息:
///< <comment>
/*!< <comment> */