自定义函数中前有__fastcall,和没有__fastcall的区别,!
自定义函数中有__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




