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

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

本文简介:选择自 rivershan 的 blog

还有一个值得一提的是winapi宏,它可以被翻译成适当的调用约定以供函数使用。该宏定义于windef.h之中。下面是在windef.h中的部分内容:

 

#define cdecl             _cdecl

#define winapi           cdecl

#define callback       __stdcall

#define winapi        __stdcall

#define apientry      winapi

 

       由此可见,winapicallbackapientry等宏的作用。

2.名称修饰(name decoration

cc++函数在内部(编译和链接)通过修饰名(decoration name)识别。函数的修饰名是编译器在编译函数定义或者原型时生成的字符串。编译器在创建.obj文件时对函数名称进行修饰。有些情况下使用函数的修饰名是必要的,如在模块定义文件里头指定输出c++重载函数、构造函数、析构函数,又如在汇编代码里调用cc++函数等。

 

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

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

go top