VS2005导出函数命名规则

简介: VS2005导出函数命名规则

操作系统:Win7

总结的规律:

第一个@前面是函数名,第一个@到第二第三个@是类名,第三个@到第四个@是返回值参数的类型

1,如果有参数(不包括void),以@Z结尾,否则以XZ结尾

2,VS2005都是以QAE开头

//DLL_EXPORT是自定义的导出类宏 后面是Win7+VS2005个函数导出后的名称
class DLL_EXPORT T
{

public:

void Fun1(){}; //导出后?Fun1@T@@QAEXXZ
 char Fun2(){return 0;};//导出后?Fun2@T@@QAEDXZ
 unsigned char Fun3(){return 0;};//导出后?Fun3@T@@QAEEXZ
 bool Fun4(){return 0;};//导出后?Fun4@T@@QAE_NXZ
 unsigned bool Fun5(){return 0;};//导出后?Fun5@T@@QAEIXZ
 short Fun6(){return 0;};//导出后?Fun6@T@@QAEFXZ
 unsigned short Fun7(){return 0;};//导出后?Fun7@T@@QAEGXZ
 int Fun8(){return 0;};//导出后?Fun8@T@@QAEHXZ
 unsigned int Fun9(){return 0;};//导出后?Fun9@T@@QAEIXZ
 long Fun10(){return 0;};//?Fun10@T@@QAEJXZ
 unsigned long Fun11(){return 0;};//导出后?Fun11@T@@QAEKXZ
 float Fun12(){return 0;};//导出后?Fun12@T@@QAEMXZ
 double Fun13(){return 0;};//导出后?Fun13@T@@QAENXZ
 void Fun22(char ){};//?Fun22@T@@QAEXD@Z
 void Fun23(unsigned char){};//?Fun23@T@@QAEXE@Z
 void Fun24(bool ){};//导出后?Fun24@T@@QAEX_N@Z
 void Fun25(unsigned bool){};//导出后?Fun25@T@@QAEXI@Z
 void Fun26(short ){};//导出后?Fun26@T@@QAEXF@Z
 void Fun27(unsigned short){};//导出后?Fun27@T@@QAEXG@Z
 void Fun28(int ){};//导出后?Fun28@T@@QAEXH@Z
 void Fun29(unsigned int){};//导出后?Fun29@T@@QAEXI@Z
 void Fun30(long ){};//导出后?Fun30@T@@QAEXJ@Z
 void Fun31(unsigned long){};//导出后?Fun31@T@@QAEXK@Z
 void Fun32(float ){};//导出后?Fun32@T@@QAEXM@Z
 void Fun33(double){};//导出后?Fun33@T@@QAEXN@Z
 void Fun42(int,char ){};//?Fun42@T@@QAEXHD@Z
 void Fun43(int,unsigned char ){};//?Fun43@T@@QAEXHE@Z
 void Fun44(void){};//?Fun44@T@@QAEXXZ
 int Fun45(int){return 0;};    //?Fun45@T@@QAEHH@Z
 int Fun46(int,int){return 0;};   //?Fun46@T@@QAEHHH@Z
 int Fun47(int,int,int){return 0;};  //?Fun47@T@@QAEHHHH@Z
 int Fun48(int,float){return 0;};  //?Fun48@T@@QAEHHM@Z
 int Fun49(int,float,float){return 0;} //?Fun49@T@@QAEHHMM@Z
 float Fun50(int){return 0 ;}; //?Fun50@T@@QAEMH@Z
};


相关文章
|
8月前
|
编译器 Linux C语言
预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件的包含​)
预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件的包含​)
|
2月前
|
IDE Linux 开发工具
物理设备命名规则
在Linux系统中,一切皆为文件,包括硬件设备。udev设备管理器负责将硬件名称规范化,以便用户通过设备文件名了解设备属性和分区信息。常见的设备文件名包括:IDE设备(/dev/hd[a-d])、SCSI、SATA、U盘(/dev/sd[a-p])、软驱(/dev/fd[0-1])、光驱(/dev/cdrom)和鼠标(/dev/mouse)。主分区或扩展分区编号从1到4,逻辑分区从5开始。
71 2
WK
|
3月前
|
Python
Python函数命名
在Python中,函数命名应清晰、简洁且易于理解。遵循PEP 8风格指南,使用小写字母和下划线分隔单词,避免单字母命名和保留字。函数名应描述功能,以动词开头,避免泛化名称,使用有意义的缩写,保持命名风格一致,避免魔法数字。示例包括 `calculate_area_of_circle`、`fetch_data_from_api` 和 `save_file_to_disk`。这些实践有助于创建易读、易维护的代码。
WK
35 0
|
Go 开发者
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
146 0
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
|
8月前
|
存储 编译器 程序员
【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库
【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库
161 0
|
开发者
如何优雅的起个变量名?
如何优雅的起个变量名?
|
Java 编译器
JAVA方法的命名规则
JAVA方法的命名规则
437 0
|
Java
简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循
简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循
203 0