函数调用过程中的一个疑问
这是一个函数调用的过程:
push %ebp
mov %esp,%ebp
sub $0x4,%esp
mov $0x404010,%edx
call 0x4016d0 <mcount>
lea 0xfffffffc(%ebp),%eax
incl (%eax)
mov 0xfffffffc(%ebp),%eax
leave
ret
函数的原形(函数没有任何意思,不用讨论逻辑上的错误:
i hello()
{
int i;
i+=1;
return i;
}
问题是:
mov $0x404010,%edx
call 0x4016d0 <mcount>
这两句是做什么的?
我用的是GCC的编译器编译的,运行在winxp环境下