简体   繁体   中英

Does Doxygen have support for branching or for C/C++ preprocessor

This might sound like a sci-fi feature request but I wonder if Doxygen has any of the two following features:

  1. Generating the call/caller graphs after preprocessor ran over the input file. Example:

     #define MULTITHREADING 1 

    and then blocks of code are enabled or disabled depending on whether MULTITHREADING is enabled.

  2. Describing the certainty of the call with graph arrows... for example a dotted line if the function isn't always called (aka it is in a branch or you have possible return before the function is called.

For the first item, you will want to enable the ENABLE_PREPROCESSING option in your Doxyfile .

For the second, I honestly don't know, but would be very surprised if it did. I think that this would require a full C/C++ compiler to determine these things.

  1. Doxygen Preprocessing :

    Source files that are used as input to doxygen can be parsed by doxygen's built-in C-preprocessor.

    By default doxygen does only partial preprocessing. That is, it evaluates conditional compilation statements (like #if) and evaluates macro definitions, but it does not perform macro expansion.

  2. COLLABORATION_GRAPH :

    If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen will generate a graph for each documented class showing the direct and indirect implementation dependencies (inheritance, containment, and class references variables) of the class with other documented classes.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM