这听起来像是科幻功能的要求,但我不知道是否使用Doxygen有任何以下两个特点:确实的Doxygen有支持的分支或C/C++预处理器
生成呼叫/主叫预处理器运行输入文件之后的图形。 实施例:
#define MULTITHREADING 1
然后代码块是根据
MULTITHREADING
是否启用启用或禁用。描述确定性通话与图箭头...例如虚线,如果函数并不总是叫(又名它是在一个分支或者你有可能
return
函数被调用之前。
这听起来像是科幻功能的要求,但我不知道是否使用Doxygen有任何以下两个特点:确实的Doxygen有支持的分支或C/C++预处理器
生成呼叫/主叫预处理器运行输入文件之后的图形。 实施例:
#define MULTITHREADING 1
然后代码块是根据MULTITHREADING
是否启用启用或禁用。
描述确定性通话与图箭头...例如虚线,如果函数并不总是叫(又名它是在一个分支或者你有可能return
函数被调用之前。
的第一个项目,你会希望能够在您的Doxyfile
。
的ENABLE_PREPROCESSING
选项对于第二个,我真的不知道,但如果它确实会感到非常吃惊。我认为这将需要一个完整的C/C++编译器来确定这些事情。
Doxygen的Preprocessing:被用作输入到doxygen的
源文件可以通过解析 的doxygen的内置C-预处理。
默认情况下,doxygen只进行部分预处理。也就是说,它 评估条件编译语句(如#if)并评估 宏定义,但它不执行宏扩展。
如果COLLABORATION_GRAPH和HAVE_DOT标签被设置为YES,那么 的doxygen将生成用于示出 直接和间接的执行依赖性的每个记录类的曲线图(继承, 遏制,和类引用变量)与其他 记录的类相关联。
对我来说,PP没有工作,即时通讯不是在谈论宏的exp ...我甚至检查了g ++ PP输出到文件并检查了它..它可能是我在做错误的事情......如果PPL能确认/否认这种或那种方式,那会很好...... – NoSenseEtAl 2013-03-19 12:35:21
你确定ENABLE_PREPROCESSING的工作原理与我预期的一样。从我所看到的调用图即使对于从未生成的代码也会生成调用图 – NoSenseEtAl 2013-03-08 12:09:27
说实话,我不确定Doxygen解析器是否能够胜任此任务。也许你在[邮件列表](https://lists.sourceforge.net/lists/listinfo/doxygen-users)上有更多的运气问。 – 2013-03-08 12:15:12
tnx ...有一天他们会切换到clang进行解析。 :D – NoSenseEtAl 2013-03-08 12:27:34