1. Abstract
.
2. Introduction
3. Intel
3.1 结论
GCC 编译出来的代码,参数传递都是通过堆栈的。请参考文档 [1] 。
注意:不要和 Intel X86 架构里的系统调用的参数传递弄混了。
3.2 代码
下面通过一个例子来说明问题。
3.2.1 源代码
源代码如下
#include <stdio.h>
int func (int a, int b)
{
return 5;
}
int main(int argc, char ** argv)
{
int i = 0, value = -1;
func(i, value);
} // end
3.2.2 编译过程
gcc simple_call.c
3.2.3 汇编代码
objdump -d a.out
输出:
……
08048344 <func>: