开发者

How to exclude a function from a call graph in Doxygen?

开发者 https://www.devze.com 2023-01-04 05:43 出处:网络
I have debugging functions that are called in just about every function of a large program. They are conditionally turned on by a defined macro variable.I don\'t want these showing up in call graphs,

I have debugging functions that are called in just about every function of a large program. They are conditionally turned on by a defined macro variable. I don't want these showing up in call graphs, since I can be fairly sure that every function has them. Is there a way to exclude the function from the graph

/*! Step 3:
 *  @callgraph
 */
void step3(double * phi, //...
{ // CODE:
/// inner_quadratic_form: 
/// \f$ s =  (\phi_j^{\mathrm{(old)}})^T  \Sigma_{\alpha\alpha} \phi_j^{\mathrm{(old)}}+1 \f$
double s = 1.0;debug_arg(s);
inner_quadratic_form(&s, old_phi_row, &one, ka, Saa, ka, dl, dp);
s+=1.0;debug_arg(s);
}
开发者_运维问答

for example, the inner_quadratic form needs to be in the call graph but the debug_arg(s) does not. I think this is different from what is already on here because I need debug_arg documented but just not appearing in the call graphs.


How are you conditionally disabling debug_arg()? If debug_arg() is a macro defined thus:

#if defined INCLUDE_DEBUG
 #define debug_arg(s) debug_arg_function( s )
#else
 #define debug_arg(s)
#endif

then so long as you do not specify INCLUDE_DEBUG in the code or on the Doxygen configuration, then there will be no function call to document.

It is best to specify the INCLUDE_DEBUG on the command line rather than in the code so that you do not have to change the code to build the documentation.

0

精彩评论

暂无评论...
验证码 换一张
取 消