加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 什么是safecall?

发布时间:2020-12-15 10:14:37 所属栏目:大数据 来源:网络整理
导读:我正在使用VB6创建一个ActiveX EXE,唯一的例子就是用Delphi编写。 阅读示例代码,我注意到有一些函数的签名后面是safecall关键字。以下是一个例子: function AddSymbol(ASymbol: OleVariant): WordBool; safecall; 这个关键字的目的是什么? 解决方法 Safe
我正在使用VB6创建一个ActiveX EXE,唯一的例子就是用Delphi编写。

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

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读