启用整个程序优化后,内联是否受到实现方法的影响?

时间:2017-03-07 12:21:40

标签: c++ optimization compilation link-time-optimization

启用整个程序(a.k.a链接时)优化,是否在实现方法的位置受到内联影响?

如果没有启用整个程序优化,那么在编译不同的翻译单元(包含上述标题的不同cpp)期间,在标题中公开声明但在匹配cpp中实现的方法显然无法内联。 。因此,如果您希望该方法可以内联,则必须在导出标头中实现。

使用整个程序优化,在内联方面是否有任何区别,方法是否在标题中实现?也就是说,编译器是否有可能错过内联在cpp中实现的方法的机会,如果该方法已在头文件中实现,它将不会错过?

我对Apple的Clang(-flto标志)和Visual Studio(/GL标志)的答案特别感兴趣。

0 个答案:

没有答案