和this question一样,我想找到#include
s链,通过它可以将特定的定义合并到我的C / C ++文件中。例如,假设main.c
包含此代码
#include <math.h>
int main() {
double d = exp(0);
return 0;
}
然后在我的系统(相当标准的Linux)上,math.h
包括bits/mathcalls.h
,这是宣布exp()
的地方。所以我想对main.c
进行某种分析并得到类似的输出
exp:
main.c
math.h
bits/mathcalls.h
格式化是无关紧要的,我只想要使用exp()
所在的包含文件的完整链接到声明的位置。是否有一些Linux兼容的工具,我可以使用它来做到这一点?
我上面链接的问题提供了一种在Visual Studio中执行此操作的方法,但由于显而易见的原因,这对我不起作用。我确实使用Kdevelop,所以如果我能在那个程序中完成它,那就没问题,或者某些命令行工具也会很好。
Doxygen可以本机执行此操作,也可以对配置文件进行最少的更改。
VTK有一个很好的公共页面,你可以浏览 - 特别是,如果你看看他们的一个高级域名:vtkObjectBase你可以开始看到Doxygen提供的信息深度。
如果您查看vtkObject,您会立即看到继承此类的所有模块。此外,您可以单击Class Members链接并具体查看哪些模块继承了哪些成员(例如,Observer属于vtkDataRepresentation,vtkOrientationMarkerWidget,vtkPainter,vtkPainterPolyDataMapper,vtkTextRepresentation)。
最后,这是一个Doxygen setup tutorial(尽管网上某处可能还有1-2-3步骤大纲)。