加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 内联长函数

发布时间:2020-12-16 09:33:58 所属栏目:百科 来源:网络整理
导读:假设我有10行功能.如果我添加inline关键字,那么假设编译器有可能使其内联50%. 如果我有2行函数,则可能有90%的可能性被内联. 我可以将10行函数中的代码拆分为5个函数,使其内联更好的机会吗? 解决方法 可能有一个原因,编译器没有内联它,可能需要注意的事情.
假设我有10行功能.如果我添加inline关键字,那么假设编译器有可能使其内联50%.

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

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

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读