函数和过程的保留字都有哪些?比如:register什么的,都有什么作用?
函数和过程的保留字都有哪些?比如:register什么的,都有什么作用? 问题点数:20、回复次数:6Top
1 楼jiangqiu(会上树的河马)回复于 2003-09-03 14:05:30 得分 0
我可能记的不是很清楚,大概就是这个意思:fuction a();export;其中export是用在DLL中说明是输出函数,可以动态调用(我说的没错吧),还有其他的呢?我忘了在哪里看到的了,好象是还有什么register,cover还有别的记的不是很清了Top
2 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2003-09-03 14:20:02 得分 0
function a: string;
result
procedureTop
3 楼yk_xiong(小熊)回复于 2003-09-03 14:46:02 得分 10
参数调用方式:
Register:
这个方式采用寄存器调用约定来传递参数,这是缺省的方式。
Pascal:
这种方式采用Pascal调用约定来传递参数,也就是采用栈传递的方式,传递次序从左到右,这种方式适用于调用动态链接库(DLL)中的例程,而这些例程是用其它语言编写的如C,C++。
Cdecl:
这种方式采用C/C++的调用约定,参数从右到左依次传递到栈中。这种方式适用于调用动态链接库中输出的例程,这些例程一般是C/C++写的。
StdCall:
这种方式采用Windows的标准调用约定来传递参数,传递次序从右到左,这种方式适用于调用Windows的API。
指示字:
assembler:
这个指示字表示过程或函数是用嵌入式汇编语言编写的。用了这个指示字后,编译器对参数的处理作了一些优化
External:
这个指示字适用于从DLL中导入过程或函数,表明过程或函数是外部的。
Forward :
一般情况下,当您调用一个过程或函数时,被调用的过程或函数必须是在Type区已声明的,不过使用Forward指示字可以让编译器向前查找过程或函数的定义。
Top
4 楼yk_xiong(小熊)回复于 2003-09-03 15:04:29 得分 0
建议你看看Delphi帮助中的下列主题
Virtual and dynamic methods
Overloading methods
Calling conventions
Forward and interface declarations
External declarationsTop
5 楼FrameSniper(http://naoku.net/blogs/framesniper/)回复于 2003-09-03 15:28:29 得分 10
Register是Delphi里面默认的过程或函数的调用约定,指明参数在什么地方存放,已经放入顺序,以及最后由谁来清空栈空间!
函数或过程的关键字除了上面说的这些(上面提到的Assembler应该不属于函数过程申明时使用的关键字,而且应该是asm而不是assembler),还有:
override 覆盖,实现多态
overload 重载,实现同名函数或过程
reintroduce 重新引入,实现对父类定义代码的放弃
Top
6 楼FrameSniper(http://naoku.net/blogs/framesniper/)回复于 2003-09-03 15:29:14 得分 0
对,还有个Forward!Top
相关问题
- 谁有java的库函数集?(比如说数学函数,字符操作函数等,谢谢,在线等.....)
- 如何调用一些Delphi中没有定义的函数,比如GetIfEntry函数
- SQL中含函数,比如COUNT(*),怎样在JDBC接口中取出函数值????
- vb中保留n位小数的函数是什么?
- register_shutdown_function函数的问题
- 如果声明一个函数比如说:(快来救我!!!)
- ===关于Detours截获API函数,比如MessageBox===
- 在Delphi编程中需要加入库函数,比如我需要使用ShellExecute函数就要加入ShellAPI
- 请问哪有介绍oracle函数方面的资料,比如说to_date,to_char等函数。
- 在SQL中有函数,比如COUNT(*),怎样通过JDBC调用获得函数值????



