Doxygen 枚举 table 生成错误

Doxygen enum table is generated wrong

我使用 Doxygen 1.8.10 和默认生成的 Doxyfile 来记录 C 源代码。

问题是某些枚举表生成错误。举个例子:

/*!Enum documentation
 */
typedef enum tagMODULE__E_SomeFreq
{
    RES_FREQ__0_001HZ        =  0,   /*!0.001 Hz - 1000  s */
    RES_FREQ__0_002HZ        =  1,   /*!0.002 Hz -  500  s */
    RES_FREQ__0_005HZ        =  2,   /*!0.005 Hz -  200  s */
    RES_FREQ__0_01HZ         =  3,   /*!0.01  Hz -  100  s */
    RES_FREQ__0_02HZ         =  4,   /*!0.02  Hz -   50  s */
    RES_FREQ__0_05HZ         =  5,   /*!0.05  Hz -   20  s */
    RES_FREQ__0_1_HZ         =  6,   /*!0.1   Hz -   10  s */
    RES_FREQ__0_2_HZ         =  7,   /*!0.2   Hz -    5  s */
    RES_FREQ__0_5_HZ         =  8,   /*!0.5   Hz -    2  s */
    RES_FREQ__1_HZ           =  9,   /*!1     Hz -    1  s */
    RES_FREQ__2_HZ           = 10,   /*!2     Hz -  0.5  s */
    RES_FREQ__5_HZ           = 11,   /*!5     Hz -  0.2  s */
    RES_FREQ__10_HZ          = 12,   /*!10    Hz -  0.1  s */
    RES_FREQ__25_HZ          = 13,   /*!25    Hz -  0.04 s */
    RES_FREQ__50_HZ          = 14,   /*!50    Hz -  0.02 s */
    RES_FREQ__MAX                    /*!Always the last member of the enum */
} MODULE__E_SomeFreq;

此代码将在 doxygen 中显示为:(复制粘贴时格式丢失)

待选择的资源分发频率。注意:对应的分发周期必须是ME周期的倍数

枚举器

RES_FREQ__0_002HZ
0.001 赫兹 - 1000 秒

RES_FREQ__0_005HZ
0.002 赫兹 - 500 秒

RES_FREQ__0_01HZ
0.005 赫兹 - 200 秒

RES_FREQ__0_02HZ
0.01 赫兹 - 100 秒

RES_FREQ__0_05HZ
0.02 赫兹 - 50 秒

RES_FREQ__0_1_HZ
0.05 赫兹 - 20 秒

RES_FREQ__0_2_HZ
0.1 赫兹 - 10 秒

RES_FREQ__0_5_HZ
0.2 赫兹 - 5 秒

RES_FREQ__1_HZ
0.5 赫兹 - 2 秒

RES_FREQ__2_HZ
1 赫兹 - 1 秒

RES_FREQ__5_HZ
2 赫兹 - 0.5 秒

RES_FREQ__10_HZ
5 赫兹 - 0.2 秒

RES_FREQ__25_HZ
10 赫兹 - 0.1 秒

RES_FREQ__50_HZ
25 赫兹 - 0.04 秒

RES_FREQ__MAX
50 赫兹 - 0.02 秒 始终是枚举的最后一个成员

我想你已经看到了,注释值被用于下一行的值而不是留给它的值。

第二件事是没有显示真实的物理值。 (0 到 14)

希望能帮到你。

这是因为您使用记录下一位成员的评论类型。尝试

  RES_FREQ__0_5_HZ         =  8,   /*!< 0.5   Hz -    2  s */

  RES_FREQ__0_5_HZ         =  8,    //!< 0.5   Hz -    2  s

相反。