DLL(Dynamic Link Libraries)全面剖析
2006-07-20 11:40:14 来源:WEB开发网核心提示: 2、函数名后面以"@@YG"标识参数表的开始,后跟参数表;3、参数表以代号表示:X——void,DLL(Dynamic Link Libraries)全面剖析(9),D——char,E——unsig
2、函数名后面以"@@YG"标识参数表的开始,后跟参数表;
3、参数表以代号表示:
X——void,
D——char,
E——unsigned char,
F——short,
H——int,
I——unsigned int,
J——long,
K——unsigned long,
M——float,
N——double,
_N——bool,
....
PA——表示指针,后面的代号表明指针类型,如果相同类型的指针连续出现,以"0"代替,一个"0"代表一次重复;
4、参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指数据类型前;
5、参数表后以"@Z"标识整个名字的结束,如果该函数无参数,则以"Z"标识结束。
其格式为"?functionname@@YG*****@Z"或"?functionname@@YG*XZ",
例如
int Test1(char *var1,unsigned long)-----“?Test1@@YGHPADK@Z”
void Test2() -----“?Test2@@YGXXZ”
__cdecl调用约定:
规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YA"。
__fastcall调用约定:
规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YI"。
VC++对函数的省缺声明是"__cedcl",将只能被C/C++调用。
关于DLL的函数
动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。
- ››Dynamic Multipoint Vpn for IPv6 详解
- ››Linkedin iPhone 3.0应用体验
- ››Dynamic link library for Symbian
- ››DLL(Dynamic Link Libraries)专题
- ››DynamicLayout-VC 6.0对话框动态布局解决方案
- ››link 方法
- ››link-list java版
- ››Links and Anchors: Window 2
- ››DLL文件基本原理及修改方法和通过改DLL来美化系统...
- ››Link Server的语法
- ››DLL头文件的格式和应用
- ››DLL初学者指南(非MFC)
更多精彩
赞助商链接