送份,送分(5分)

  • 主题发起人 主题发起人 蓝蒙
  • 开始时间 开始时间

蓝蒙

Unregistered / Unconfirmed
GUEST, unregistred user!
各位仁兄:
function StartIndexPlayFile( chanelNo:integer) :Integer; stdcall;
中stdcall作什么解释???
 
一个协议,
 
回调函数
 
回调函数??
再具体点?
他的需求什么提供的又是什么?
 
When you declare a procedure or function, you can specify a calling convention using one of the directives register, pascal, cdecl, stdcall, and safecall. For example,

function MyFunction(X, Y: Real): Real; cdecl;
...

Calling conventions determine the order in which parameters are passed to the routine. They also affect the removal of parameters from the stack, the use of registers for passing parameters, and error and exception handling. The default calling convention is register.
Calling conventions
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
 
stdcal快速调用
 
调用约定:

规定了函数,过程调用时的参数传递方向
以及是由调用进程处理堆栈还是函数或过程来处理堆栈

当和其它语言编写的DLL,OBJ等连接时有用
 
stdcall等等是参数入栈的方式!
stdcall 从右到左, 被调用一方 (Win32标准)
cdcel 从右到左 调用程序
safecall 从右到左 被调用一方
fast-call 从左到右 使用寄存器(delphi缺省)
pascal 从左到右 被调用一方(win3.x缺省)
 
多人接受答案了。
 
后退
顶部