【发布时间】:2013-03-08 11:12:29
【问题描述】:
这听起来像是一个科幻功能请求,但我想知道 Doxygen 是否具有以下两个功能中的任何一个:
-
在预处理器运行输入文件后生成调用/调用者图。 示例:
#define MULTITHREADING 1然后根据是否启用
MULTITHREADING启用或禁用代码块。 用图形箭头描述调用的确定性...例如,如果函数并不总是被调用(也就是它在一个分支中,或者你有可能@函数调用前的987654323@。
【问题讨论】:
这听起来像是一个科幻功能请求,但我想知道 Doxygen 是否具有以下两个功能中的任何一个:
在预处理器运行输入文件后生成调用/调用者图。
示例:
#define MULTITHREADING 1
然后根据是否启用MULTITHREADING 启用或禁用代码块。
用图形箭头描述调用的确定性...例如,如果函数并不总是被调用(也就是它在一个分支中,或者你有可能@函数调用前的987654323@。
【问题讨论】:
用作 doxygen 输入的源文件可以通过以下方式解析 doxygen 的内置 C 预处理器。
默认情况下,doxygen 只进行部分预处理。这就对了 评估条件编译语句(如#if)并评估 宏定义,但不进行宏扩展。
如果 COLLABORATION_GRAPH 和 HAVE_DOT 标签设置为 YES,那么 doxygen 将为每个记录的类生成一个图表,显示 直接和间接的实现依赖(继承, 包含和类引用变量)的类与其他 记录类。
【讨论】:
对于第一项,您需要在Doxyfile 中启用ENABLE_PREPROCESSING 选项。
第二个,老实说,我不知道,但如果知道的话,我会非常惊讶。我认为这需要一个完整的 C/C++ 编译器来确定这些事情。
【讨论】: