函数调用的约定

当函数执行完成后,栈中的参数是不会被主动清理的,只有等待下一次栈中存入其他值将其覆盖,在一个程序中main()函数中调用了printf()函数时,main()是调用者,printf()是被调用者
 
函数调用后如何处理esp的问题,即函数调用的约定,主要有以下三种方式:
cdecl:调用者函数直接清理其压入栈的函数参数
stdcall:被调用函数内部清理栈
fastcall:与stdcall类似,需要使用ecx、edx寄存器
 
 

猜你喜欢

转载自www.cnblogs.com/keepcuriosity/p/9394798.html