下面是整理的关于c/c++名字修饰和调用约定的规则:
名字修饰 调用约定 |
C |
C++ |
__stdcall |
约定在输出函数名前加上一个下划线前缀,后面加上一个"@"符号和其参数的字节数目,格式为_functionname@number |
1. 以“?”标示函数名的开始,后跟函数名; 2. 函数名后面以“@@YG”标识参数表的开始,后跟参数表。 3. 参数表以代号标示:X--void; 4. 参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指类型前面。 5. 参数表以“@Z”标示整个名字的结束,如果该函数无参数,则以“Z”标示结束。例:int Test1(char *var1, |
__cdecl |
约定仅在输出函数名前加上一个下划线前缀,格式为_functionname |
规则同上面的__stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YA" |