记录一下inline函数的作用
普通函数的调用过程
在eclipse里面创建工程,代码如下:
#include <iostream>
#include <vector>
#include <cstring>
#include <cassert>
#include <algorithm>
using namespace std;
//__attribute__((always_inline)) inline int test(int x)
int test(int x)
{
return x++;
}
int main()
{
int i = 0;
int y = 0;
for (i = 0; i < 9; i++)
y = test(i);
}
上述例子,test为普通函数,单步执行时的汇编代码如下所示:
main():
0000000000401550: push %rbp
0000000000401551: mov %rsp,%rbp
0000000000401554: sub $0x30,%rsp
0000000000401558: callq 0x4016d0 <__main>
24 int i = 0;
000000000040155d: movl $0x0,-0x4(%rbp)
25 int y = 0
1万+




被折叠的 条评论
为什么被折叠?



