delphi – 什么是safecall?

delphi – 什么是safecall?,第1张

概述我正在使用VB6创建一个ActiveX EXE,唯一的例子就是用Delphi编写。 阅读示例代码,我注意到有一些函数的签名后面是safecall关键字。以下是一个例子: function AddSymbol(ASymbol: OleVariant): WordBool; safecall; 这个关键字的目的是什么? Safecall从左到右传递参数,而不是pascal或从左到右注册(默认) 使用s 我正在使用VB6创建一个ActiveX EXE,唯一的例子就是用Delphi编写。

阅读示例代码,我注意到有一些函数的签名后面是safecall关键字。以下是一个例子:

function AddSymbol(ASymbol: oleVariant): WordBool; safecall;

这个关键字的目的是什么?

解决方法 Safecall从左到右传递参数,而不是pascal或从左到右注册(默认)

使用safecall,过程或函数在返回时从堆栈中删除参数(如pascal,但不像cdecl那样由调用者决定)

Safecall实现异常“防火墙”; esp在Win32上,这实现了进程间COM错误通知。否则将与stdcall(与win API一起使用的其他调用约定)相同,

总结

以上是内存溢出为你收集整理的delphi – 什么是safecall?全部内容,希望文章能够帮你解决delphi – 什么是safecall?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存