DLL中调用约定和名称修饰(二)[7]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 rivershan 的 blog

vc++中,函数修饰名由编译类型(cc++)、函数名、类名、调用约定、返回类型、参数等多种因素共同决定。下面分c编译、c++编译(非类成员函数)和c++类及其成员函数编译三种情况说明:

1c编译时函数名称修饰

当函数使用__cdecl调用约定时,编译器仅在原函数名前加上一个下划线前缀,格式为_functionname。例如:函数int __cdecl add(int a, int b),输出后为:_add

 

当函数使用__stdcall调用约定时,编译器在原函数名前加上一个下划线前缀,后面加上一个@符号和函数参数的字节数,格式为_functionname@number。例如:函数int __stdcall add(int a, int b),输出后为:_add@8

 

本文关键:DLL、调用约定、名称修饰、Calling Convention、Name Decoration、Name Mangling
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top