我有一个结构像:
/**
* 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_hiddes_STRUCT。
我希望文档创建两个单独的条目:一个用于指针typedef,另一个用于非指针typedef。目前,我似乎只得到一个指针typedef。
我在这里做错什么了?我也愿意接受一般的语法建议。注意,这是一个C库,而不是C++。似乎dOxygen在处理具有多个语句的
typedef
时遇到问题(即typedef int var_t,*pvar_t
)。 最佳答案
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名称的保留字,这不仅会引起doxygen的麻烦。
此外,指针的透明typedef名称的这种做法也是错误的。如果指针类型是不透明的句柄,并且客户端永远看不到底层类型,甚至不知道句柄是指针(与表索引或其他键相反),请使用typedef。如果客户机直接使用结构,让他们使用
SOME_STRUCT_T *
。关于c++ - 使用dOxygen记录带有指定指针的typedef结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24388510/