Skip navigation.
主页

源代码分析工具

droplet 的图片

有没有一个工具,可以统计函数或变量引用的次数,在下面几种情况下,这个统计工具就很重要

1)inline函数统计。每个inline的调用次数,inline函数的长度等等。inline函数在编译时会被展开,这样会增加obj的大小。所以在

使用inline的时候,一定要控制inline函数的大小,10多行代码还可以接受,再多就不行了。如果inline在很多地方引用,展开之后的

规模也是很可观。obj文件增大,一个直接的后果就是增加了cache miss的机会,因为不可能把代码都load到cache里面。

2)宏的统计。最好是不要使用宏。如果一定要使用,最好不要用宏定义函数。宏的长度和引用计数也非常重要,它的影响与inline函数

类似。

3)函数的长度统计。每个函数有多少行代码。这个可能没有从obj文件里得到的代码长度有用,但是从源代码分析更方便一点,不用每次

都编译代码。

如果能从代码或者是obj文件里面发现重复的代码,这样对代码优化就很有帮助。尽量避免重复。这样对维护也有好处。