如何从Doxygen中的调用图中排除函数?

时间:2010-06-19 18:30:40

标签: c documentation doxygen

我有几乎在大型程序的每个函数中调用的调试函数。它们由定义的宏变量有条件地打开。我不希望这些出现在调用图中,因为我可以相当确定每个函数都有它们。有没有办法从图中排除函数

/*! 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,但只是没有出现在调用图中。

1 个答案:

答案 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,这样就不必更改代码来构建文档。