The following results are measured by VS2010:
------------------------------------------------------------------
/* Function name, class name, namespace, @@ 、 function access level, calling convention, return type, parameter type, parameterless (@z, XZ) function name:? functor Name Class Name: @ Class name namespace: @ namespace name function access level: pure function is Y, static class method public,protected, Private is the s,k,c non-static class method Public,protected,private in turn is the QA,IA,AA calling convention: __cdecl is a, __stdcall is G for return type and parameter type: void,char,signed char,unsigned char,short,unsigned short,int,unsigned int,long,unsigned long,float,double,long Double,long Long, unsigned long corresponds to: X, D, C, E, F, G, H, I, J, K, M, N, O, _j, _k have parameters: Parametric @z, no parameter XZ------------------------------------------- ------------intfoo (void); [email protected] @YAHXZshort foo (void); [email protected] @YAFXZshort foo (int, int); [Email protected]@[email protected]short __cdecl foo (int, int); [Email protected]@[email protected]short __stdcall foo (int, int); [Email protected]@[email protected]short __stdcall Muyou::foo (int,int) [Email protected]@@[email protected]public:static short __stdcall Muyou::a::foo (int,int) [email protected]@[email protected] @[email protected]protected:static Short __stDcall Muyou::a::foo (int,int) [email protected]@[email protected]@[email protected]private:static Short __stdcall Muyou::a::foo (int,int) [email protected]@[email protected]@[email protected] Private:short __stdcall Muyou::a::foo (int,int) [email protected]@[email protected]@[email Protected]protected:short __stdcall Muyou::a::foo (int,int) [Email protected]@[email protected]@[email protected]public:short __stdcall Muyou::a::foo (int,int) [email protected]@[email protected]@[ Email protected]-------------------------------------------void foo (); [email protected] @YAXXZvoid foo (void); [email protected] @YAXXZvoid foo (char); [Email protected]@[email protected]void foo (signed char); [Email protected]@[email protected]void foo (unsigned char); [email protected]@[email protected]void foo (short); [Email protected]@[email protected]void foo (signed short); [EMAIL PROTECTED]@[EMAIL&Nbsp;protected]void foo (unsigned short); [email protected]@[email protected]void foo (int); [email protected]@[email protected]void foo (signed int); [email protected]@[email protected]void foo (unsigned int); [Email protected]@[email protected]void foo (long); [Email protected]@[email protected]void foo (signed long); [email protected]@[email protected]void foo (unsigned long); [email protected]@[email protected]void foo (float); [Email protected]@[email protected]void foo (double); [Email protected]@[email protected]void foo (long double); [Email protected]@[email protected]void foo (long Long); [Email protected]@[email protected]void foo (signed long Long); [email protected]@[email protected]void foo (unsigned long long); [Email protected]@[email protected]*/namespace muyou{class a{public:short __stdcall foo (int, int);p ublic: void VF () {foo (1, 1);}};} Using Muyou::a;int main (void) {AOA;OA.VF (); return 0;}
A study of the format of C + + decorated names