delphi函数调用约定

摘要:
指令参数存储位置、参数传输顺序、参数内存管理,使用本地寄存器CPU寄存器,被调用者从左到右默认,发布的属性访问方法必须使用Pascal堆栈,从左到右侧,被调用者向后兼容Cdecl堆栈,从右到左,被调用者调用c/c++共享库,Stdcall堆栈,从右侧到左侧,被调用者API从右到左调用Safecall堆栈,被调用者API调用,双接口方法必须使用

指令

参数存放位置

参数传递顺序

参数内存管理

使用地方

Register

CPU寄存器

从左到右

被调用者

默认,published属性存取方法必须使用

Pascal

从左到右

被调用者

向后兼容

Cdecl

从右到左

调用者

调用c/c++共享库

Stdcall

从右到左

被调用者

API调用

Safecall

从右到左

被调用者

API调用,双接口的方法必须使用

免责声明:文章转载自《delphi函数调用约定》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Pandas —— (1)基础数据结构概念和创建chrome开发者工具浅析--timeline下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android Service总结02 service介绍

Android Service总结02 service介绍 版本 版本说明 发布时间 发布人 V1.0 介绍了Service的种类,常用API,生命周期等内容。 2013-03-16 Skywang         概要   若读者之前没接触过service,对下面内容有个大致了解即可。待使用过service之后再来阅读本章内容,会理解...

Delphi用Socket API实现路由追踪

Windows自带的Tracert是向远程主机发送ICMP包进行追踪,但是目前很多主机关闭了ICMP答复,这个工具不太好使了~~~~~原理咱知道,正规的Trace不就是发送TTL依次递增的UDP包吗?什么网关和路由敢随意丢弃我们的UDP包而...unit YRecords;interfaceusesWindows;constPACKET_SIZE = 32...

OJ开发笔记(1)

  最近想挖坑搞个跑在linux上的OJ,查了很多资料,也读了很多大神的代码,自己有些感悟。于是把评测内核的部分功能写了出来,这里做个笔记备忘啦。   学校用的OJ是几年前的hustoj,只支持C/C++,Java和Pascal跑起来老是出现莫名奇妙的错误,感觉某学长没有搭好(╬ ̄皿 ̄)。自己想搞的OJ以后应该能支持C/C++/Java/Pascal/C#...

OpenGL教程一

引自:https://blog.csdn.net/u013654125/article/details/73613644 GLEW, GLFW和GLM介绍 现在你有了工程,就让我们开始介绍下工程所用到的开源库和为啥需要这些。 The OpenGL Extension Wrangler (GLEW)是用来访问OpenGL 3.2 API函数的。不幸的是你不能...

PortAudio详解(2015年12月1日更新)

PortAudio详解 整理者:赤子玄心 QQ:280604597 Email:280604597@qq.com 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 PortAudio是一个免费、跨平台、开源的音频I/O库。看到I/O可能就想到了文件,但是PortAudio操作的I/O不是文件,而是音频设备。它能够简化C...

Delphi指针及其它(转)

一、指针:指向一个内存地址的变量或参数。二、定义指针的方式如下:P: Pointer; //定义了可以指向任何类型的指针,Pointer 为无类型指针;Q, R: ^TType; //定义了指向 TType 类型的两个指针,TType 可是是各种//基本类型或自己定义的各种类型,也可以如下定义:// type PType = ^TType;// var Q...