谁能告诉我StdCall的具体使用方法和它的含义,谢谢(100分)

  • 主题发起人 主题发起人 杨一刀
  • 开始时间 开始时间

杨一刀

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能告诉我StdCall的具体使用方法和它的含义,谢谢
 
看书了没有?
 
stdcall是一种调用约定在Dll或win32中经常用到
指出参数的传递方式,
具体看看Win32帮助
stdcall ,cdecl ...
 
书,书,书,看书!
除了看书还能怎么样?
 
指出参数的传递方式:
Directive Parameter order Clean-up Passes parameters in registers?

register Left-to-right Routine Yes
pascal Left-to-right Routine No
cdecl Right-to-left Caller No
stdcall Right-to-left Routine No
safecall Right-to-left Routine No
 
StdCall按照字面的意思就是标准调用(Standard Call),是所有Windows API的调用约定。
具体的约定是:
所有参数都是压在堆栈中传递的,无寄存器参数。其返回值由EAX寄存器中返回。
清除堆栈的方式为:由调用者自行清除。
使用方法:
一般在动态链接库中使用。如果你写了一个动态链接库,那么,其中的输出函数你最好
将其调用约定申明为StdCall,这是因为,大多数的编程语言都支持这种约定,基本上
这种约定已经成为Windows输出函数的标准。大多数的动态链接库都是以StdCall的约定
来输出函数的。虽然其效率不是最高。
 
多人接受答案了。
 
后退
顶部