使用bash脚本查找C程序的方法和方法调用

时间:2014-01-14 08:13:51

标签: c bash sed

给定一个C程序,我需要为每个定义的方法计算调用次数和调用它的行。

实施例

 1: ...
    void a(){
    ...
    }

    void b(){
    ...}

    main(){
    ...
40: a();
41: b();
42: a()
43: }

预期结果: 方法“a”被称为2次;线:40。42 方法“b”被称为1次;行:41

我想我可以使用sed,有点像:sed -n '/void/,/(/p' test.c 但我不知道如何调整它以考虑所有可能的可能性。或者也许有更简单的方法来获得这个结果?任何想法都受到欢迎。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用现有的静态调用图分析器。请参阅Wikipedia page for "Call graph",特别是免费软件静态C调用图分析器列表。