动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Delphi教程 ]的信息

本月文章推荐
.Delphi实现Singleton模式.
.Delphi动态创建树.
.在delhpi程序中获取网络资源信息.
.回调函数与Delphi的事件模型.
.李维看Delphi2006(DeXter).
.將字串传入到Windows目前窗口Cur.
.控件在运行状态改变大小.
.获取其他线程的光标句柄[DELPHI].
.Delphi中两个BUG的分析与修复.
.delphi编写你的第一个com程序.
.Delphi数据库编程教程(七).
.Delphi中正常窗口的实现.
.异常死亡进程的自动复活.
.基本图象处理代码(2).
.来点实用的,自己画带标题栏窗体.
.自定义的TShockwaveflash.
.关于Delphi大Bug的更详细的例子.
.VC与Delphi之间动态链接库互相调.
.在Delphi里调用API函数动态建立O.
.一个导出Excel非常快的类.

delphi的调用约定

发表日期:2006-2-4 |


Calling conventions(调用约定)


   在声明过程或函数时,你可以使用下面的指示字之一来指明调用约定:register、pascal、cdecl、stdcall以及safecall。比如,

function MyFunction(X, Y: Real): Real; cdecl;
...
      调用约定决定了参数被传递给例程的顺序,它们也影响从堆栈中删除参数、传递参数时寄存器的使用,以及错误和异常处理。默认的调用约定是register。

• register 和pascal 调用从左到右传递参数,也就是说,最左边的参数最早被计算并传递,最右边的参数最后被计算和传递;cdecl、stdcall 和safecall 调用从右到左传递参数;
• 除了cdecl 调用,过程和函数在返回之前从堆栈中移除参数,而使用cdecl,当调用返回时,调用者从堆栈中移除参数;
• register 调用能使用多达3 个CPU 寄存器传递参数,而其它调用则全部使用堆栈传递参数;
• safecall 调用实现了异常“防火墙”,在Windows 下,它实现了进程间COM 错误通知。
下面的表格对调用约定进行了总结:

--------------------------------------------------------------------------------------------------
-指示字-------------- 参数顺序--------- Clean-up ---------------使用寄存器传递参数?|
-register--------------- Left-to-right ---------Routine -----------------Yes---------------------||
-pascal ---------------  Left-to-right ---------Routine -----------------No----------------------|
-cdecl----------------- Right-to-left ---------Caller --------------------No---------------------|
-stdcall ----------------Right-to-left ----------Routine --------------------No------------------|
-safecall--------------- Right-to-left ----------Routine --------------------No------------------|
-------------------------------------------------------------------------------------------------
        默认的register 调用是最有效的,因为它通常避免了要创建堆栈结构(stack frame)(访问公布属性的方法必须使用register);当调用来自C/C++编写的共享库中的函数时,cdecl 是有用的;通常,当调用外部代码时,推荐使用stdcall 和safecall。在Windows 中,系统API 使用stdcall 和safecall,其它操作系统通常使用cdecl(注意,stdcall 比cdecl 更有效)。
        声明双重接口的方法必须使用safecall;保留pascal 调用是为了向后兼容性。要了解更多的调用约定的信息,请参考Program control。
        指示字near、far 和export 用在16 位Windows 编程中,它们对32 位程序没有影响,保留它们是为了向后兼容性。

上一篇:防止全局hook入侵Delphi版,2000以上系统适用(part3) 人气:3493
下一篇:win2000/xp/2003下不能关闭程序的方法 人气:4353
浏览全部Delphi的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-6 Menalto Gallery v2.3 Rc2 多国语
2008-10-6 花香盈路(Hxcms) v9.0
2008-10-6 华军软件下载系统 v1.5
2008-10-6 e107 v0.7.13
2008-10-6 (开源PHP框架) CodeIgniter v1.6
2008-10-6 PHP在线考试系统PPExam v1.2.6 b
2008-10-6 SiteDynamic企业网站管理系统 v1
2008-10-6 WebPlayer9 P2P视频点播电影整站
2008-10-6 BCMS v1.1 测试版
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成