我如何使用gcc的内联报告(-Winline)

时间:2011-04-14 22:50:48

标签: c++ c gcc inline

在我的项目上启用-Winline会产生大量输出,但我并不理解。有谁知道如何使用此输出来找出我的特定函数没有内联的原因?

1 个答案:

答案 0 :(得分:3)

好吧,根据我的gcc手册页...

  

编译器使用各种各样的   启发式判断是否   内联函数。例如,   编译器考虑到了   内联函数的大小和   内联量   目前已经完成了   功能。因此,貌似   来源的微不足道的变化   程序可以导致警告   由-Winline出现或出现   消失。

我不相信你可以强制编译器内联你的函数;它是一个实现细节,甚至可以在编译器更新时更改。此外,只要编译器的选择导致您的函数运行得更快,是否有任何特殊原因让您关心函数是否实际内联?

当然,如果确实想要出于某种原因内联你的函数,你可能只需要使用宏来实现。