如何从调用图中省略内置函数
How to omit built-in functions from call graph
我使用gcc生成了C/c++程序的调用图,但是该图包含了许多内置函数,如strcmp, fprintf等,我对此不感兴趣。是否有任何gcc选项可以帮助省略这些函数?我知道埃及有一个选项——省略,但这需要用户事先指定他们知道的函数列表。这意味着,如果我想删除上面所有的内置函数,我需要有一个完整的函数列表,我不知道从哪里得到。
谢谢。
标准库函数的完整列表可以在语言标准中找到。但是,该列表不包括helper和特定于编译器的函数。
参见1999年C标准的Annex B/Library summary
。
如果你没有这个标准,你可以在网上找到它的草稿。
您可以自己指定检测功能。有关如何使用的更多信息,请参阅此链接。实现插入函数,允许您在每个函数调用之前指定将被调用的函数,并且将被调用函数的地址和调用它的地址传递给它。
之后,您可以使用addr2line
工具转换来自已检测运行的地址。这样就可以提取函数并对其进行过滤。您需要解析文本文件并自己构建调用图,但dot
语言非常容易上手。
相关文章:
- 内置函数可查看CPP中的成员变量
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- 为什么内联函数的效率低于内置函数
- OpenCL 内置函数选择
- 是否有内置函数可用于boost :: numeric ::间隔
- CMake 无法检测 gcc 内置函数,如 sqrt、pow、exp 等
- 是否有任何内置函数可以告诉编译器分支是否可预测
- 是否可以查看内置函数定义
- 是否有内置函数返回" the number of true value in a boolean vector "?
- 与内置函数的命名冲突
- c++win32中是否有用于数字系统转换的内置函数
- 调用 STL 容器的内置函数
- matlab 内置函数是用某种较低级别的语言编写的吗?
- 使用内置函数(或任何其他方法)在C++中对2D数组进行排序
- 反转字符串中的 n 个字符(字符串中没有空格),而不使用 c++ 中的内置函数
- LLVM IR是否包含内置函数的代码
- 如何获取字符串形式的int变量的长度内置函数,例如string.length()
- 在 C 中使用八度内置函数
- 是否有预定义的内置函数将数字转换为C++二进制格式