首页 > 编程语言 > 详细

C/C++的Name Mangling

时间:2016-04-06 07:04:28      阅读:241      评论:0      收藏:0      [点我收藏+]

C语言
规则:

1、__cdecl
在此声明方式下,仅仅在函数名前加一个下划线,至于函数返回值、参数,完全没有处理。
2、__stdcall
在此声明方式下,在函数名前加一个下划线,然后紧跟“@”符号,最后是函数参数大小总和(注意:此总和包含了字节填充)。
3、__fastcall
在此声明方式下,跟 __stdcall 唯一不同的是,函数前面的下划线变为了“@”符号。

函数

1、void __CALLTYPE f();
2、int __CALLTYPE f();
3、int __CALLTYPE f(int);
4、double __CALLTYPE f(int, double);
5、int* __CALLTYPE f(int*, char*);

__cdecl

1、_f
2、_f
3、_f
4、_f
5、_f

__stdcall

1、_f@0
2、_f@0
3、_f@4
4、_f@12
5、_f@8

__fastcall

1、@f@0
2、@f@0
3、@f@4
4、@f@12
5、@f@8


C++语言

C/C++的Name Mangling

原文:http://www.cnblogs.com/tinaluo/p/5357681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!