c – 如何使用Doxygen记录宏生成的类?

c – 如何使用Doxygen记录宏生成的类?,第1张

概述我使用宏以下列方式生成类: generator.h: class CLASS_NAME : public parent{ //generate variables with names given by CLASS_VARIABLES using complicated //Boost.Preprocessor stuff.};#undef CLASS_NAME#unde 我使用宏以下列方式生成类:

generator.h:

class CLASS_name : public parent{    //generate variables with names given by CLASS_VARIABLES using complicated    //Boost.Preprocessor stuff.};#undef CLASS_name#undef CLASS_VARIABLES

myclass.h:

#define CLASS_name MyClass#define CLASS_VARIABLES (a,b,c,x,y,z)#include "generator.h"

实际的类更复杂,并使用各种Boost.Preprocessor宏.有没有办法通过向generator.h添加注释来自动记录使用Doxygen生成的类,或者生成带文档的示例类?我尝试过启用ENABLE_PREPROCESSING和MACRO_EXPANSION,但这似乎不够.

解决方法 它不会起作用. Doxygen预处理器并不真正执行完整的文件包含(它只查看包含的文件中的宏定义;否则,ENABLE_PREPROCESSING指令将完全无用!).所以#include“generator.h”没有效果.

如果您使用所包含文件的内容替换#include指令,它将起作用. (我知道,这不是很有用).

另一种方法是修改你的文件,如下所示:

generator.h:

#define DEFCLASS class CLASS_name : public parent \{ \   ... whatever ... \};

myclass.h:

#define CLASS_name MyClass#define CLASS_VARIABLES (a,z)#include "generator.h"DEFCLASS

但如果每个源文件多次使用DEFCLASS(可能是Doxygen的错误/缺陷),这将不起作用.

总结

以上是内存溢出为你收集整理的c – 如何使用Doxygen记录宏生成的类?全部内容,希望文章能够帮你解决c – 如何使用Doxygen记录宏生成的类?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1238934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存