了解inline 内联函数
本文最后更新于325 天前,其中的信息可能已经过时,如有错误请联系作者

了解inline 内联函数

当函数体非常小,而被频繁调用时,函数调用的开销可能会成为性能瓶颈。在这种情况下,使用内联函数可以避免函数调用的开销,因为内联函数在编译时会在调用点展开函数体,而不是通过函数调用的机制。这样,在汇编代码中就不会生成函数表和函数符号,从而减少了压栈、跳转和返回等操作的开销。

我们将函数指定为内联函数,通常就是将它在每个调用点上内联的展开。

inline int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(1, 2);
    return 0;
}

编译器会将在main函数中调用add的地方替换为add函数体的内容,即result = 1 + 2;

注意:内联说明只是向编译器发出的一个请求,编译器可以忽略这个请求。例如,如果一个函数是虚函数、体积过大、或者涉及到递归调用。Forceinline一般是在函数体积较大时使用,对于其他情况仍然不会内联。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇