内联函数

  • 内联函数(inline function)
    • 使用inline对函数的声明或实现进行修饰
    • 内联函数是直接将函数里面的代码进行替换,不会开辟函数栈空间
    • 什么时候使用内联函数
      • 函数代码体积不大(不超过10行)
      • 频繁调用的函数
      • 递归不会变成内联函数
    • 内联函数跟宏差不多,比宏定义多了语法检测和函数特性

非内联


int sum(int a, int b)
{
    return a + b;
}
int main()
{
    int c = sum(10, 20);
    return 0;
}

其对应的汇编代码

    //int c = sum(10, 20);
00F61014 6A 14                push        14h  
00F61016 6A 0A                push        0Ah  
00F61018 E8 E3 FF FF FF       call        sum (0F61000h)  
00F6101D 83 C4 08             add         esp,8  
00F61020 89 45 FC             mov         dword ptr [c],eax  

内联函数


inline int sum(int a, int b)
{
    return a + b;
}
int main()
{
    int c = sum(10, 20);
    return 0;
}

其对应的汇编代码

    //int c = sum(10, 20);
000E1004 B8 0A 00 00 00       mov         eax,0Ah  
000E1009 83 C0 14             add         eax,14h  
000E100C 89 45 FC             mov         dword ptr [c],eax  
  • 16
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值