我有几乎在大型程序的每个函数中调用的调试函数。它们由定义的宏变量有条件地打开。我不希望这些出现在调用图中,因为我可以相当确定每个函数都有它们。有没有办法从图中排除函数
/*! 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);
}
例如,inner_quadratic表单需要在调用图中,但debug_arg(s)不需要。我认为这与已经存在的内容不同,因为我需要记录debug_arg,但只是没有出现在调用图中。
答案 0 :(得分:1)
你如何有条件地禁用debug_arg()?如果debug_arg()是一个定义的宏:
#if defined INCLUDE_DEBUG
#define debug_arg(s) debug_arg_function( s )
#else
#define debug_arg(s)
#endif
然后只要你没有在代码或Doxygen配置中指定INCLUDE_DEBUG,就不会有文件的函数调用。
最好在命令行而不是在代码中指定INCLUDE_DEBUG,这样就不必更改代码来构建文档。