CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

自定义函数中前有__fastcall,和没有__fastcall的区别,!

楼主chago(超哥)2002-11-08 01:45:05 在 C++ Builder / 基础类 提问

自定义函数中有__fastcall,和没有__fastcall的区别,还有在Privete和public定义  
  函数和变量的区别!谁有这些方面的例子呀,谢! 问题点数:100、回复次数:15Top

1 楼kingfish(工作很忙,很少来csdn...)回复于 2002-11-08 08:08:53 得分 10

__fastcall   参数传递的一种方式(通过寄存器)  
  In   BCB   Help:  
  All   form   class   member   functions   must   use   the   __fastcall   convention.  
   
  至于private和public,是c++基本的东西了  
  简单的例子,如  
  ...  
  private:  
      int   a;  
  public:  
      int   b;  
  ...  
   
  你在Form1外部可以通过Form1->b访问b,而不能通过Form1->a访问a  
  Top

2 楼95533(鼠标垫)回复于 2002-11-08 08:23:38 得分 10

1、_fastcall   是borland特有的,指寄存器方式传递参数。  
  2、private是私有属性、方法,public是公共的,别的类可以访问public里的不能直接访问private里的属性方法。Top

3 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2002-11-08 08:28:38 得分 10

使用了的话,按理说应该速度快一点,但太多的话也没用!Top

4 楼winkiky(生命不息战斗不止)回复于 2002-11-08 08:30:31 得分 10

楼上的两位说的很清楚了,其实在开始的时候不用注意太多的细节,因为慢慢的你都会明白的,不过private和public这些是该知道的了:)Top

5 楼jintaocom(贫民张大嘴)回复于 2002-11-08 08:39:28 得分 10

1._fastcall   指寄存器方式传递参数,顾名思义:起到快速调用  
  2.private是私有变量和私有函数的定义,  
  3.public是公共函数和公共变量的定义,别的类要用的话,只要#include   "*.h"就能用:  
  Top

6 楼wgh166(涌金水牛)回复于 2002-11-08 08:43:03 得分 10

Privete:只能本unit用,其他unit不能用  
  public:公用  
   
  有__fastcall参数是用寄存器传递.不使用堆栈.Top

7 楼PPower(月亮光光,照地堂)回复于 2002-11-08 08:44:40 得分 10

__fastcall参数是用寄存器传递.不使用堆栈.  
  但只是前面三個參數使用寄存器传递,多余的使用栈。Top

8 楼PPower(月亮光光,照地堂)回复于 2002-11-08 08:48:23 得分 10

VCL類的屬性中使用的方法一定要用__fastcall,Top

9 楼bigwhiteshark(变性鲨鱼)回复于 2002-12-22 16:34:49 得分 10

__fastcall的含义是该函数按照“寄存器调用规则”,也就是说函数的前三个参数将使用EAX、EBX和ECX寄存器传递,剩下的参数使用堆栈传递,传递的顺序是从左向右,返回值保存在ECX寄存器,并且由被调用者负责清除堆栈,如果参数的类型不能匹配寄存器,比如不是指针或者是结构、浮点类型等,相应的寄存器则空置不用,在VCL中所有的类成员函数都必须是“__fastcall”类型,C++   Builder的缺省设置是C语言调用规则,因此在类成员函数之前必须加   __fastcall关键字,可以通过更改项目的设置而将缺省的调用规则改为“__fastcall”规则,而不是"_cdecl"规则,就可以在程序中省略这个关键字,但并不推荐这样。  
  Top

10 楼binbin(破坏分子)回复于 2002-12-22 18:23:36 得分 0

严重同意楼上的Top

11 楼dddlincsdn(什么也不想说)回复于 2002-12-22 22:26:46 得分 0

upTop

12 楼CCLIS(www.cclis.com)回复于 2002-12-22 23:36:58 得分 10

private   和     public中的函数和变量的区别不知道,我看,还是要加强一下C++基本功。Top

13 楼windcsn(向所有的朋友学习!)回复于 2002-12-23 09:45:26 得分 0

同意各位的意见,好好学习C++吧!Top

14 楼zht_1(天天)回复于 2002-12-23 09:48:55 得分 0

upTop

15 楼absent_minded(心不在焉)回复于 2002-12-23 09:53:34 得分 0

upTop

相关问题

  • 自定义函数与系统函数的区别
  • 自定义函数
  • 自定义函数
  • 自定义函数
  • 自定义函数
  • 怎么自定义函数???????
  • 求自定义函数
  • \关于自定义函数?
  • 关于自定义函数
  • MFC编程中的利用classwizard建立的函数与自定义的函数的区别

关键词

  • 函数
  • 寄存器
  • fastcall
  • 参数
  • 堆栈
  • 调用
  • 传递
  • 区别
  • 变量
  • 私有

得分解答快速导航

  • 帖主:chago
  • kingfish
  • 95533
  • warton
  • winkiky
  • jintaocom
  • wgh166
  • PPower
  • PPower
  • bigwhiteshark
  • CCLIS

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo