尽管使用宏,但Doxygen中的文档C?

时间:2013-04-12 08:09:21

标签: c macros doxygen

我在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成员的文档。

我怎样才能找到这种问题的合规解决方案?

0 个答案:

没有答案