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

i386体系结构下函数参数传递默认采用栈的方式进行传递并且函数参数入栈的顺序是从右向左。在函数体内可以通过寄存器ebp+偏移从栈上获取函数参数。

i386体系结构可以使用寄存器传递函数参数,最多可以使用3个寄存器(EAX,EDX和ECX),分别对应函数入参的前3个参数。GCC在函数声明中添加__attribute((regparm(3)))即可以进行这种调用。

你可能感兴趣的:(linux,i386,C函数参数传递)