函数调用规则

函数调用规则是调用者和被调用函数间传递参数及返回参数的方法。在Windows上,常用的事Pascal、WINAPI(_stdcall)、C方式(_cdecl)。下面是其规则:

_cdecl方式,调用规则:

  1. 参数从右到左进入堆栈
  2. 在函数返回后,由调用者清空堆栈,所以这种调用常会产生较大的可执行程序

__stdcall即WINAPI方式,调用规则:

  1. 参数从右向左进入堆栈
  2. 被调用的函数在返回前自行清理堆栈,所以产生的代码比_cdecl小

Pascal调用规则:

  1. 参数从左向右进入堆栈
  2. 被调用的函数返回前自行清理堆栈
  3. 不支持可变参数的函数调用
原文地址:https://www.cnblogs.com/littlejohnny/p/1931302.html