Doxygen:在不更改 CSS 的情况下显示数字 Enum 值?

2024-03-31

我需要一种方法让 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(使用前将#替换为@)

Doxygen:在不更改 CSS 的情况下显示数字 Enum 值? 的相关文章

随机推荐