c – 内联长函数

c – 内联长函数,第1张

概述假设我有10行功能.如果我添加inline关键字,那么假设编译器有可能使其内联50%. 如果我有2行函数,则可能有90%的可能性被内联. 我可以将10行函数中的代码拆分为5个函数,使其内联更好的机会吗? 可能有一个原因,编译器没有内联它,可能需要注意的事情.此外,函数调用开销不再是功能较长的问题,因此内联它们可能不那么重要(如果这是您唯一的原因). 将函数拆分为5个小函数只会使代码混乱,并且可能会 假设我有10行功能.如果我添加inline关键字,那么假设编译器有可能使其内联50%.

如果我有2行函数,则可能有90%的可能性被内联.

我可以将10行函数中的代码拆分为5个函数,使其内联更好的机会吗?

解决方法 可能有一个原因,编译器没有内联它,可能需要注意的事情.此外,函数调用开销不再是功能较长的问题,因此内联它们可能不那么重要(如果这是您唯一的原因).

将函数拆分为5个小函数只会使代码混乱,并且可能会混淆编译器并最终不会内联任何内容.我不建议这样做.

根据您的C编译器,您可以强制它内联函数. Visual C具有__forceinline属性,以及应如何处理内联以及在项目设置中应该使用它的频率的设置.正如Tony提到的,GCC等价物是__attribute __((always_inline)).

您也可以使用一些预处理器技巧来内联代码本身,但我通常不建议这样做.

总结

以上是内存溢出为你收集整理的c – 内联长函数全部内容,希望文章能够帮你解决c – 内联长函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1213542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存