gpt4 book ai didi

c - 有没有办法让 doxygen 在不更改 css 的情况下显示枚举数值?

转载 作者:太空狗 更新时间:2023-10-29 16:39:09 24 4
gpt4 key购买 nike

我想在 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 能做的最接近的事情是 selectively expand your macros因为它确实有一个 C 预处理器。所以如果你有一些值分配给一个由预处理器扩展派生的常量,doxygen 可以扩展宏并告诉你将分配什么。

根据 TheCodeArtist 的回答,您可能会考虑编写在 doxygen 之前运行的脚本,复制您的文件,搜索此模式:

enum *** {
***, ///< %VAL%:

并将每次出现的 %VAL% 替换为应有的值,这样您就不必手动跟上数字。 doxygen 运行后,需要替换包含 %VAL% 标记的原始文件。这不是一个特别优雅或稳健的解决方案。

关于c - 有没有办法让 doxygen 在不更改 css 的情况下显示枚举数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com