Ioa*_*dis 18
对于C程序的控制流图,您可以查看C的现有Python解析器:
调用图是控制流图的密切相关的构造.有几种方法可用于为C代码创建调用图(函数依赖性).这可能有助于推进控制流图生成.在C中创建依赖图的方法:
使用cflow:
--cpp选项来预处理代码.使用cscope:
ncc(像cflow一样)
遗憾的是,以下工具要求代码可编译,因为它们依赖于gcc的输出:
egypt用于gcc制作RTL,因此任何错误的源代码都会失败,或者即使您只想关注来自大型项目的单个文件因此,与cflow基于更健壮的工具链相比,它并不是非常有用.请注意,埃及默认支持从图表中排除库调用,以使其更清晰.此外,可以使用创建C/C++的文件依赖关系图crowfood.
所以我做了一些研究,并不难获得节点的行号.只需lineno在其中一个选项中添加选项即可获得它.所以使用-fdump-tree-cfg-lineno或-fdump-tree-vcg-lineno.我花了一些时间来检查这些数字是否可靠.在VCG格式的图形的情况下,每个节点的标签包含两个数字.这些是由该节点表示的代码部分的开始和结束的行号.
| 归档时间: |
|
| 查看次数: |
14710 次 |
| 最近记录: |