x86_64体系结构函数调用时函数参数传递方法

∥☆過路亽.° 提交于 2020-03-17 10:54:17

某厂面试归来,发现自己落伍了!>>>

x86_64体系架构中函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存器rdi,rsi,rdx,rcx,r8和r9中,浮点型参数保存在寄存器xmm0,xmm1......中。若有更多的参数则按照从右到左的顺序依次压入堆栈。

当使用GDB工具调试C代码时,若使用break function设置断点时,若使用break function_name则断点设置在进入function以及保存完寄存器后的汇编语句上,而使用break *function_name则断点设置在刚刚进入函数的位置上(并没有保存栈帧到堆栈)。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!