64.1 cdcel

这种传递参数的方法在C/C++语言里面比较流行。

如下的代码片段所示,调用者反序地把参数压到栈中:最后一个参数,倒数第二个参数,第一个参数。调用者还必须在函数返回之后把栈指针(ESP)还原为初始状态。

Listing 64.1: cdecl

  1. push arg3
  2. push arg2
  3. push arg1
  4. call function
  5. add esp, 12 ; returns ESP