码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++的Name Mangling

时间:2016-04-06 07:04:34      阅读:242      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!