您现在的位置是:主页 > news > 负面信息搜索引擎 网站/计算机基础培训机构
负面信息搜索引擎 网站/计算机基础培训机构
admin2025/5/1 20:04:48【news】
简介负面信息搜索引擎 网站,计算机基础培训机构,无锡嘉饰茂建设网站的公司,注册网站授权书怎么写.参数传递方式:Delphi中有自己的参数传递方式,而Windows API也有自己的参数传递方式,那么他们之间有什么不同呢,要如何做到兼容呢,尤其是在编写动态库时?(1)cdecl:通常是C/C所使用的参数传递方式,它的传递方式是由右到左,而且当被调用的函数结束之后,将会由调用函数本身来清除…
负面信息搜索引擎 网站,计算机基础培训机构,无锡嘉饰茂建设网站的公司,注册网站授权书怎么写.参数传递方式:Delphi中有自己的参数传递方式,而Windows API也有自己的参数传递方式,那么他们之间有什么不同呢,要如何做到兼容呢,尤其是在编写动态库时?(1)cdecl:通常是C/C所使用的参数传递方式,它的传递方式是由右到左,而且当被调用的函数结束之后,将会由调用函数本身来清除…
.参数传递方式:
Delphi中有自己的参数传递方式,而Windows API也有自己的参数传递方式,那么他们之间有什么不同呢,要如何做到兼容呢,尤其是在编写动态库时?
(1)cdecl:
通常是C/C++所使用的参数传递方式,它的传递方式是由右到左,而且当被调用的函数结束之后,将会由调用函数本身来清除堆栈上的参数数据.
(2)stdcall:
参数传递方式,也是由右到左,但是当被调用的函数结束之后,则是由被调用函数来清除堆栈上的参数数据,Win32API所有的输出函数都是采用此中参数传递方式
(3)pascal:
是Delphi1.0与win16API所使用的参数传递方式,它的传递方式是由左到右,而且由被调用函数来清除堆栈上的参数数据.
(4)fastcall:
是Delphi默认所使用的参数传递方式,此种方式在传递参数时把前三个参数放在CPU的EAX,EDX,ECX三个缓存器种,剩下的参数则会由左到右地被取出放到堆栈中,而当被调用的函数结束之 后,则是由被调用函数来清除堆栈上的参数数据.
注:所以在引用C++动态库中的函数时,要注意参数的传递方式,一般使用stdcall.还要注意字符串类型,C++在传递字符串时,都是采用字符指针的类型(Char *),所以你在Delphi的程序中就必 须使用PCHAR类型,而不是string类型.
Delphi中有自己的参数传递方式,而Windows API也有自己的参数传递方式,那么他们之间有什么不同呢,要如何做到兼容呢,尤其是在编写动态库时?
(1)cdecl:
通常是C/C++所使用的参数传递方式,它的传递方式是由右到左,而且当被调用的函数结束之后,将会由调用函数本身来清除堆栈上的参数数据.
(2)stdcall:
参数传递方式,也是由右到左,但是当被调用的函数结束之后,则是由被调用函数来清除堆栈上的参数数据,Win32API所有的输出函数都是采用此中参数传递方式
(3)pascal:
是Delphi1.0与win16API所使用的参数传递方式,它的传递方式是由左到右,而且由被调用函数来清除堆栈上的参数数据.
(4)fastcall:
是Delphi默认所使用的参数传递方式,此种方式在传递参数时把前三个参数放在CPU的EAX,EDX,ECX三个缓存器种,剩下的参数则会由左到右地被取出放到堆栈中,而当被调用的函数结束之 后,则是由被调用函数来清除堆栈上的参数数据.
注:所以在引用C++动态库中的函数时,要注意参数的传递方式,一般使用stdcall.还要注意字符串类型,C++在传递字符串时,都是采用字符指针的类型(Char *),所以你在Delphi的程序中就必 须使用PCHAR类型,而不是string类型.