文档章节

理解 Delphi 的类(十一) - 深入类中的方法[13] - 方法的调用约定

涂孟超
 涂孟超
发布于 2014/09/26 15:30
字数 351
阅读 2
收藏 0
因为使用方法参数的不同, 所以有了调用约定.
譬如 Delphi 默认的是从左到右读取参数; Window API 是从右到左读取参数.

如果没有调用约定, Delphi 就无法使用由 C 语言编写的 Window API;
如果没有调用约定, 别的语言也无法使用由 Delphi 编写的 DLL 文件中的方法.

指示字 参数读取顺序 参数删除 参数传递 备注
register  左→右 方法返回时自动删除参数 前三个参数使用CPU的三个寄存器传递; 其他使用栈传递 速度最快, 是 Delphi 的默认方式
pascal 左→右 方法返回时自动删除参数 使用栈传递参数 为兼容存在
cdecl 右→左 由调用者在调用返回时从栈中删除参数 使用栈传递参数 调用来自用 C 或 C++ 编写的共享库, 一般用于非 Windows 操作系统
stdcall 右→左 方法返回时自动删除参数 使用栈传递参数 用于调用 Windows API
safecall 右→左 方法返回时自动删除参数 使用栈传递参数 用于调用 Windows 中的双重接口中的方法(除了继承自 IInterface 和 IDispatch 的方法)
near Win16 位下的产物, 现在不用了
far
export


本文转载自:http://www.cnblogs.com/del/archive/2008/01/18/1044263.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
Flutter 面试知识点集锦

谷歌大会之后,有不少人咨询了我 Flutter 相关的问题,其中有不少是和面试相关的,如今一些招聘上也开始罗列 Flutter 相关要求,最后想了想还是写一期总结吧,也算是 Flutter 的阶段复习。 ...

恋猫de小郭
05/14
0
0
Flutter完整开发实战详解(十三、全面深入触摸和滑动原理)

本篇将带你深入了解 Flutter 中的手势事件传递、事件分发、事件冲突竞争,滑动流畅等等的原理,帮你构建一个完整的 Flutter 闭环手势知识体系,这也许是目前最全面的手势事件和滑动源码的深入...

恋猫de小郭
05/10
0
0
Java并发编程:剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal   想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据T...

邓竣
2016/05/12
52
0
深入理解自动加载(一)

自动加载是一个非常核心的功能。在没有自动加载的时候,引用某个文件,常常需要一个很长的列表(需要把用到的)。 先用一个简单的样例:autoload() 可以做到当在实例化某个没有的类的时候,会...

熊猫88
2015/12/11
73
0
读《深入理解Java虚拟机》- 笔记08

《深入理解Java虚拟机:JVM高级特性与最佳实践》第2版 第10章 早期(编译期)优化 59. 语法糖 在计算机语言中添加某种语法,对语言的功能没有影响,但是方便开发人员使用。 泛型是一种语法糖...

阿历Ali
2018/08/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!

#写在前面1.怎么理解“减一分人欲,则增一分天理,这是何等简易!”?1)华杉提倡 “一劳永逸” 排除浪费,少干活,多赚钱,一战而定,降低作业成本。2)华杉提倡学海无涯,回头是岸...

阿锋zxf
15分钟前
1
0
vue 的bus总线

bus声明 global.bus = new Vue() 事件发送 controlTabbar () {global.bus.$emit('pickUp', 'ddd')}, 事件接收 global.bus.$on('pickUp', (res) => {this.isFocus = true})......

Js_Mei
20分钟前
2
0
大型系统演进之路-负载均衡演进

Nginx做负载均衡 通过Nginx的反向代理将请求分发到tomcat中,如果tomcat支持100并发,Nginx支持50000并发,理论上nginx把请求发送到500个tomcat就可以了。 LVS或F5做多个Nginx负载均衡 Tomc...

春哥大魔王的博客
25分钟前
4
0
Sqlite时间段查询中遇到的问题

问题: 我要查询DateTime时间其中的一段符合时间要求的数据,比如我要查询‘2019-06-06 16:50:00’至‘2019-06-06 16:59:00’这一段的数据 开始用这段代码 strSql= ("select * from Coll...

rainbowcode
29分钟前
2
0
大数据(hadoop-数据入库系统Sqoop原理架构)

Sqoop是什么 Sqoop:SQL-to-Hadoop 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中; 把数据从 Hadoop 系统里抽取并导出到关系型...

这很耳东先生
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部