zoukankan      html  css  js  c++  java
  • 理解 Delphi 的类(十一) 深入类中的方法[13] 方法的调用约定

    因为使用方法参数的不同, 所以有了调用约定.
    譬如 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


  • 相关阅读:
    SVN的安装与配置
    nginx之location配置详解及案例
    查看三种MySQL字符集的方法(转)
    JAVA_OPTS设置
    vi/vim 添加或删除多行注释
    Linux 下查看字体
    linux 安装中文字体
    Linux 压缩某个文件夹命令
    Navicat Premium 12.1.16.0安装与激活
    Rsync + sersync 实时同步备份
  • 原文地址:https://www.cnblogs.com/del/p/1044263.html
Copyright © 2011-2022 走看看