gcc调用规范备忘

1.输入参数:
   从右往左入栈,不足32位的数据类型按32位入栈
2.返回值:
--浮点数存入FPU寄存器栈的栈顶
--32位或不足32位的返回值存入eax
-- 64位返回值存入edx:eax
-- 超过64位的返回值由调用者在堆栈中预留空间,并且把预留空间的地址压入堆栈
   堆栈顺序如下(从上往下表示地址从高到低)
             输入参数2
             输入参数1 
             返回值地址
             cs:eip
             ----------------------------------
             调用者ebp  《--------函数內ebp指向此处,故 8(ebp)表示返回值地址
   函数结束处把返回值地址保存到eax中          
   

你可能感兴趣的:(gcc)