我有一个类似的结构:
/**
* Typical dOxygen brief about the typedef. Longer description follows.
*/
typedef struct _SOME_STRUCT_TAG {
int var1; /**< Something useful. */
int var2; /**< something equally useful. */
} SOME_STRUCT_T, *LPSOME_STRUCT_T /**< A post doc the pointer here. Longer description follows */;
我启用了项目选项TYPEDEF_HIDES_STRUCT。
我希望文档创建两个单独的条目:一个用于指针typedef,另一个用于非指针typedef。目前,我似乎只得到一个指针typedef。
我在这里做错了什么?我也对一般的语法建议持开放态度。请注意,这是针对C库,而不是C ++。似乎dOxygen在处理具有多个语句的typedef
时遇到了麻烦(即typedef int var_t,*pvar_t
)。
答案 0 :(得分:2)
IIRC,doxygen根本不支持单个声明中的多个标识符的不同文档。所以将它们分开。
而不是
int a, b, c;
使用
int a;
int b;
int c;
而不是
typedef struct _SOME_STRUCT_TAG {
int var1; /**< Something useful. */
int var2; /**< something equally useful. */
} SOME_STRUCT_T, *LPSOME_STRUCT_T;
使用
typedef struct _SOME_STRUCT_TAG {
int var1; /**< Something useful. */
int var2; /**< something equally useful. */
} SOME_STRUCT_T;
typedef SOME_STRUCT_T *LPSOME_STRUCT_T;
另请注意,您正在为struct和typedef名称使用保留字,这不仅会产生麻烦,而且还会产生麻烦。
此外,指针的透明typedef名称的这种做法是坏样式。如果指针类型是一个不透明的句柄,并且客户端永远不会看到底层类型,或者甚至知道句柄是一个指针(而不是表索引或其他键),请使用typedef。如果客户端直接使用结构,请让他们使用SOME_STRUCT_T *
。