试验的代码如下
在去掉了inline关键字后,汇编以上代码得到的结果如下
inline int f(int *pInt) //从*pInt加到100
{
int sum = 0;
while(*pInt <= 100)
{
sum += *pInt;
(*pInt)++;
}
return sum;
}
int main(int argc, char *argv[])
{
int x = 1, y = 2;
int a = f(&x);
int b = f(&y);
return a + b;
}
在去掉了inline关键字后,汇编以上代码得到的结果如下
.file "non_inline.cpp"
.text
.globl __Z1fPi
.def __Z1fPi; .scl 2; .type 32; .endef
__Z1fPi: ;下面的到ret都是函数f的汇编代码
LFB0:
pushl