dll声明的问题(100分)

  • 主题发起人 主题发起人 leslie cheng
  • 开始时间 开始时间
L

leslie cheng

Unregistered / Unconfirmed
GUEST, unregistred user!
各位:<br>function test(x,y:double):double; export;与<br>function test(x,y:double):double; stdcall;<br>的export和stdcall有什么区别???<br>有的书上写export,而有的书上写stdcall?
 
stdcall的参数传递从右向左,而且函数本身会处理错误和异常。<br>export在16位中有用,32位中不起作用。
 
stdcall 参数右到左进栈,堆栈由 被调用者(函数) &nbsp;清理<br><br>至于“函数本身会处理错误和异常”,没有这个说法
 
stdcall 是 c 的压栈方式,差不多已经是标准了。<br>pascal 和 c 正好相反。
 
stdcall 和 cdecl 压栈方式相同,清理堆栈方式不同(cdecl是调用者清理)<br><br>pascal 和 cdecl 清理堆栈方式相同,压栈方式不同
 
多人接受答案了。
 
后退
顶部