名字修饰与调用约定
2011-03-08 21:23
253 查看
下面是整理的关于c/c++名字修饰和调用约定的规则:
名字修饰 调用约定 | C | C++ |
__stdcall | 约定在输出函数名前加上一个下划线前缀,后面加上一个"@"符号和其参数的字节数目,格式为_functionname@number | 1. 以“?”标示函数名的开始,后跟函数名; 2. 函数名后面以“@@YG”标识参数表的开始,后跟参数表。 3. 参数表以代号标示:X--void; D--char; E--unsigned char;F--short; H--int;I--unsigned char; J--long; K--unsigned int; M--float; N--double; _N--bool;PA--标示指针,后面的代号表明指针的类型,如果相同类型的指针连续出现,以“0”代替,一个“0”代表依次重复。 4. 参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指类型前面。 5. 参数表以“@Z”标示整个名字的结束,如果该函数无参数,则以“Z”标示结束。例:int Test1(char *var1, unsigned long)----?Test1@@YGHPADK@Z void Test2(void)----?Test2@@YGXXZ " |
__cdecl | 约定仅在输出函数名前加上一个下划线前缀,格式为_functionname | 规则同上面的__stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YA" |
相关文章推荐
- 动态链接库、名字修饰约定、调用约定
- 调用约定,名字修饰约定
- [转]C++学习:CALLBACK, WINAPI, AFXAPI和stdcall函数调用方式和名字修饰约定
- 名字修饰约定和函数调用约定
- 动态库输出函数的约定:调用约定和名字修饰约定。
- 函数调用约定 and 函数名字修饰规则
- 函数调用约定与名字修饰约定
- 函数调用约定与名字修饰约定
- 函数调用约定与名字修饰约定
- 动态链接库、名字修饰约定、调用约定
- DLL中调用约定和名称修饰
- 名字改编(name mangling)、调用约定与对策
- DLL中调用约定和名称修饰
- DLL中调用约定和名称修饰
- 调用约定(__stdcall and __cdecl)和修饰名(extern c)
- C++调用约定及函数名修饰约定规则
- DLL中调用约定和名称修饰(一)
- C++调用约定和名字约定(转)
- 名字修饰约定extern "C"与extern "C++"浅析
- C++编译时 函数调用约定 与 函数名修饰约定规则