我在C源文件中有宏,它们生成函数声明和结构。
我决定使用doxygen来记录它们,但只要我的源文件没有明确包含声明,doxygen就不会生成相应的文档。
这是一个小例子;我有一个宏,它是类声明的 种 习语:
#define CLASS(x) \
typedef struct _##x x; \
typedef struct _##x *P##x; \
typedef struct _##x **PP##x; \
typedef struct _##x
所以不要写:
/**
* \struct _Vector
* \brief the vector structure handles stuff to store data accessible by an index.
*/
typedef struct _Vector {
/*@{*/
Container container; /**< inherits from container */
size_t allocated_size; /**< the total allocated size of a vector (private usage) */
void* elements; /**< pointer to the allocated memory space (private usage) */
/*@}*/
} Vector, *PVector;
我可以写一下:
/**
* \struct _Vector
* \brief the vector structure handles stuff to store data accessible by an index.
*/
CLASS(Vector) {
/*@{*/
Container container; /**< inherits from container */
size_t allocated_size; /**< the total allocated size of a vector (private usage) */
void* elements; /**< pointer to the allocated memory space (private usage) */
/*@}*/
};
但是对于第二种情况,doxygen不会生成关于我的struct成员的文档。
我怎样才能找到这种问题的合规解决方案?