前文提到通过SouceNavigator 获取函数的调用关系,实际上那个方案也是存在问题的。经过多个文件的数据提取测试表明,其提供的调用关系是不准确的,这对于调用关系这么基础的东西显然是不合适的。还是需要另取他法。
通过不断的寻找,给我的答案就是:要么太过复杂,代价高昂;要么就是提取的东西不准确,两者都不具有工程科用性。
那么,放之四海的标准方法没有,还是可以考虑在某些情况下使用:方法就是通过gcc/g++的插件来完成。具体方法在Mozilla 的开发站点中有提到,但需要通过javascript 编写对应的脚步。
这个方法对于在Linux平台的开发来说就显得非常的方便。如果换了其他编译器或者环境,问题就又再次出现。
具体方法以后慢慢描述。