0
点赞
收藏
分享

微信扫一扫

inline内联函数

悄然丝语 2022-01-08 阅读 61
css
int sum(int x, int y) //*.o.  sum_int_int .text
{
    return x + y;
}


int main()
{
    int a = 10;
    int b = 20;
    int ret = sum(a,b);
    //此处有标准的函数调用  参数压栈,函数栈帧的开辟和回退过程,有函数调用的开销
    return 0;
}
inline int sum(int x , int y)
{
    return x + y;
}

int main()
{
    int a = 10;
    int b = 20;
    
    int ret = a + b;
    //内联函数直接展开了
    return 0;
}

但是不是所有的 inline都会被编译器处理成内联函数,比如说递归就不行

注意:inline之时建议编译器把这个函数处理成内联函数,这个最后还是编译器决定的

debug版本上,inline 是不起作用的,inline只有在release版本下 才能出现

举报

相关推荐

0 条评论