C++ 修饰名的格式探究
以下结果是由VS2010里面测试得出:
------------------------------------------------------------------
/*
函数名、类名、名称空间、@@、函数访问级别、调用约定、返回类型、参数类型、有无参数(@Z、XZ)
函数名: ?函数名
类名: @类名
名称空间:@名称空间名
函数访问级别:
純函数是Y,静态类方法public,protected,private依次是S,K,C
非静态类方法public,protected,private依次是QA,IA,AA
调用约定:__cdecl 是 A , __stdcall 是 G
对于返回类型与参数类型:
void,char,signed char,unsigned char,short,unsigned short,
int,unsigned int,long,unsigned long,float,double,long double,
long long,unsigned long
依次对应:X, D, C, E, F, G, H, I, J, K, M, N, O, _J, _K
有无参数:有参数@Z、无参数XZ
-------------------------------------------------------
int foo(void); ?foo@@YAHXZ
short foo(void); ?foo@@YAFXZ
short foo(int, int); ?foo@@YAFHH@Z
short __cdecl foo(int, int); ?foo@@YAFHH@Z
short __stdcall foo(int, int); ?foo@@YGFHH@Z
short __stdcall muyou::foo(int,int) ?foo@muyou@@YGFHH@Z
public: static short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@SGFHH@Z
protected: static short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@KGFHH@Z
private: static short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@CGFHH@Z
private: short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@AAGFHH@Z
protected: short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@IAGFHH@Z
public: short __stdcall muyou::a::foo(int,int) ?foo@a@muyou@@QAGFHH@Z
-------------------------------------------
void foo(); ?foo@@YAXXZ
void foo(void); ?foo@@YAXXZ
void foo(char); ?foo@@YAXD@Z
void foo(signed char); ?foo@@YAXC@Z
void foo(unsigned char); ?foo@@YAXE@Z
void foo(short); ?foo@@YAXF@Z
void foo(signed short); ?foo@@YAXF@Z
void foo(unsigned short); ?foo@@YAXG@Z
void foo(int); ?foo@@YAXH@Z
void foo(signed int); ?foo@@YAXH@Z
void foo(unsigned int); ?foo@@YAXI@Z
void foo(long); ?foo@@YAXJ@Z
void foo(signed long); ?foo@@YAXJ@Z
void foo(unsigned long); ?foo@@YAXK@Z
void foo(float); ?foo@@YAXM@Z
void foo(double); ?foo@@YAXN@Z
void foo(long double); ?foo@@YAXO@Z
void foo(long long); ?foo@@YAX_J@Z
void foo(signed long long);?foo@@YAX_J@Z
void foo(unsigned long long);?foo@@YAX_K@Z
*/
namespace muyou{
class a
{
public:
short __stdcall foo(int, int);
public:
void vf(){foo(1, 1);}
};
}
using muyou::a;
int main(void)
{
a oa;
oa.vf(); return 0;
}
C++ 修饰名的格式探究的更多相关文章
- 问题解决——warning C4503 超出修饰名的长度,名称被截断
========================声明============================ 本文原创,转载请注明作者和出处,并保证文章的完整性(包括本声明). 本文不定期修改完善,为 ...
- 转 sql 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时间类型(datetime, ...
- (转)sql 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121) CONVERT为日期转换函数,一般就是在时间类型(datetime ...
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- Sybase datetime 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式)sybase下convert函数第三个参数(时间格式)比如:1.select user_id,convert(varchar(10),dayt ...
- convert(varchar(10),字段名,转换格式
sql 时间转换格式 ) convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时 ...
- sql 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121) CONVERT为日期转换函数,一般就是在时间类型(datetime ...
- vbs 之 解决打开Excel文件格式与扩展名指定格式不一致的问题
' Q:解决打开Excel文件格式与扩展名指定格式不一致的问题' A: 使用工作簿saveAs时,往往忽略掉它的第二个参数FileFormat,添加即可. 比如: set bookDiff = oEx ...
- Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...
随机推荐
- 骨骼蒙皮动画算法(Linear Blending Skinning)
交互式变形是编辑几何模型的重要手段,目前出现了许多实时.直观的交互式变形方法.本文介绍一种利用线性混合蒙皮(Linear Blending Skinning,LBS)技术来实现网格变形的方法,线性混合 ...
- CF731C. Socks[DFS 贪心]
C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- UVA - 11134 Fabled Rooks[贪心 问题分解]
UVA - 11134 Fabled Rooks We would like to place n rooks, 1 ≤ n ≤ 5000, on a n × n board subject to t ...
- [No000086]C#foreach集合被改变,报错处理方案
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; ...
- jquery的回调对象Callbacks详解
Callbacks : 对函数的统一管理 Callbacks的options参数接受4个属性,分别是once : 只执行一次momery : 记忆stopOnFalse : 强制退出循环unique ...
- EasyUI实现工地领款单项目
环境搭建 引入jar.配置Spring MVC.web.xml.日志等 建表 自动生成MyBatis相关文件 mybatis-generator-core-1.3.2.jar <?xml ver ...
- 去除phpcms会员登录后头部登陆条的会员名称的括号
phpcms会员登录后显示会员名称是带括号的,现在把他修改成不带括号. 找到函数库libs/functions/global.func.php,修改如下即可: function get_nicknam ...
- JS组件系列——Bootstrap右键菜单解决方案:ContextMenu
前言:有段时间没发表随笔了,过个年人都变得懒了.新年刚来上班,今天正好得空,将去年遗留的两个小组件总结记录下.有朋友跟我说:你的bootstrap组件要能够形成一个可以满足一般项目需求的系列组件,才有 ...
- AC自动机(BZOJ1030)
#include <cstdio> #include <queue> #include <cstring> using namespace std; ; int c ...
- 修改httpd默认端口号
Tomcat: vim /etc/httpd/conf/httpd.conf//别忘了service httpd restart Nginx: vim /etc/nginx/nginx.conf//完 ...