Doxygen是否支持分支或C / C ++预处理器

时间:2013-03-08 11:12:30

标签: c++ c doxygen

这可能听起来像科幻小说的功能请求,但我想知道Doxygen是否具有以下两个功能中的任何一个:

  1. 在预处理器运行输入文件后生成调用/调用者图形。 例如:

    #define MULTITHREADING 1
    

    然后启用或禁用代码块,具体取决于是否启用了MULTITHREADING

  2. 使用图形箭头描述调用的确定性 ...例如,如果不总是调用该函数,则使用虚线(也就是说它位于分支中,或者您可能{在调用函数之前{1}}。

2 个答案:

答案 0 :(得分:5)

对于第一项,您需要在Doxyfile中启用ENABLE_PREPROCESSING选项。

对于第二个,老实说我不知道​​,但如果确实如此会非常惊讶。我认为这需要一个完整的C / C ++编译器来确定这些东西。

答案 1 :(得分:5)

  1. Doxygen Preprocessing

      

    用作doxygen输入的源文件可以解析   doxygen的内置C预处理器。

         

    默认情况下,doxygen仅进行部分预处理。这就对了   评估条件编译语句(如#if)并进行评估   宏定义,但它不执行宏扩展。

  2. COLLABORATION_GRAPH

      

    如果COLLABORATION_GRAPH和HAVE_DOT标记设置为YES,那么   doxygen将为每个记录的类生成一个图表,显示   直接和间接实现依赖(继承,   包含类和其他类的类和类引用变量   记录的课程。