Doxygen:将Typedef与匿名枚举链接

时间:2017-05-02 18:31:00

标签: c doxygen

我正在寻找一种在我继承的共享库中记录以下enum / typedef设计的好方法。有许多以下模式的实例:

enum {
    VAL1,
    VAL2,
    VAL3
};
typedef u_int16_t val_t;

int16_t myfunc(val_t foo);

这显然会导致Doxygen的链路生成出现问题。

不幸的是,我无法将其更改为正确的typedef enum { ... } val_t;结构,因为此库在许多不同的嵌入式系统上运行,范围从本机16位到64位。根据C标准,enum保证足够大以容纳int。因此,将这些更改为正确的typedef会将其大小从sizeof(u_int16_t)(2个字节)提升到sizeof(int)(通常为4个字节,但并非总是如此)。存储大小差异导致混乱;永远不要重建所有相关软件所需的协调释放噩梦。

鉴于上述情况,是否有任何好的方法在枚举前面的注释块中标记下面实际上是typedef的别名?

如果做不到这一点,我正在寻找一种简洁的解决方案,允许我从任意函数签名中找到这些值。我可以将枚举命名为任意内容(例如val_enum_t),因此我考虑了@see提及以及使用#前缀的直接链接。在这两种情况下,都会生成另一层链接。

我理想的解决方案包括以下内容:

  • 从功能签名中单击一次到枚举值列表。单击失败,尽可能少点击。
  • 使用//!<的枚举的内联文档。
  • 如果无法建立直接关联,则使用单个注释块来描述可以在typedef和enum本身上显示的功能。

0 个答案:

没有答案