c++ - 如何找出哪些函数没有内联

标签 c++ c gcc inline

有没有办法获得未在任何地方内联的函数列表?是通过将选项传递给 gcc 还是通过检查二进制文件?

编辑:我知道如何使用 gcc 的内置属性 noinline 明确要求不内联函数。

最佳答案

-fdump-ipa-inline 添加到您的编译器选项。

Grep 文件 yoursourcefile.inline,它是在“考虑内联候选者”的目标文件旁边创建的,以找出编译器考虑内联的所有函数。

Grep“内联到”文件以找出编译器最终内联的所有函数。
Grep for "inline_failed:"如果您对编译器拒绝候选者的原因感兴趣(例如“不太可能调用并且代码大小会增加”)。

关于c++ - 如何找出哪些函数没有内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9190359/

相关文章:

debugging - 让 gcc 将相对文件名放入调试信息中

c++ - 在不更改基类的情况下将一个派生类转换为另一个派生类

c++ - 如何将不同的对添加到集合中?

C - 在没有头文件的情况下在多个文件中构造

c++ - constexpr(但不是真的)构造函数在 gcc 中编译但在 clang 中不编译

c - 根据 git 推送日期自动包含程序版本

c++ - 如何从函数数组中调用特定函数?

c++ - 为什么这个编译器错误? - 没有匹配函数调用 'std::basic_ofstream<char>::open(std::string&)'

c - 在 LINUX C/C++ 中,哪些系统调用是可中断的(即 errno == EINTR)?

c - 如何为我的自定义错误编号