本帖最后由 风之残月 于 2014-11-9 22:37 编辑 inline int func(int a){ return ++a; }
#include <iostream>
int main()
{
func(3);
}
对应汇编代码:
#include <iostream>
int main()
{
011C52F0 push ebp
011C52F1 mov ebp,esp
011C52F3 sub esp,0C0h
011C52F9 push ebx
011C52FA push esi
011C52FB push edi
011C52FC lea edi,[ebp-0C0h]
011C5302 mov ecx,30h
011C5307 mov eax,0CCCCCCCCh
011C530C rep stos dword ptr es:[edi]
func(3);
011C530E push 3
011C5310 call func (011C1299h)
011C5315 add esp,4
}
将func定义成inline后,为什么在调用func时还是将它按照一般函数调用格式进行调用?
|