05. vs2019名称粉碎的简单解析

/*
只写声明,不写实现,然后直接调用,查看错误提示

void __cdecl foo(int)"                      (?foo@@YAXH@Z)
void __cdecl foo(int,int)"                  (?foo@@YAXHH@Z)
void __cdecl foo(char,short,int,__int64)"   (?foo@@YAXDFH_J@Z)
void __cdecl foo(unsigned char,unsigned short,unsigned int,unsigned __int64)" (?foo@@YAXEGI_K@Z)
void __cdecl foo(float,double)"             (?foo@@YAXMN@Z)
void __cdecl foo(void)"                     (?foo@@YAXXZ)
int  __cdecl foo(void)"                     (?foo@@YAHXZ)
void __cdecl foo(void)"                     (?foo@@YAXXZ)
void __stdcall foo(void)"                   (?foo@@YGXXZ)
void __fastcall foo(void)"                  (?foo@@YIXXZ)

                      void __fastcall N1::N2::N3::foo(void)" (?foo@N3@N2@N1@@YIXXZ)
           public: void __fastcall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@QAIXXZ)
           public: void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@QAEXXZ)
          private: void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@AAEXXZ)
        protected: void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@IAEXXZ)
protected: virtual void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@MAEXXZ)
   public: virtual void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@UAEXXZ)
  private: virtual void __thiscall N1::N2::N3::C::foo(void)" (?foo@C@N3@N2@N1@@EAEXXZ)
  private: virtual void __thiscall N1::N2::N3::C::foo(int)"  (?foo@C@N3@N2@N1@@EAEXH@Z)
  private: virtual bool __thiscall N1::N2::N3::C::foo(int)"  (?foo@C@N3@N2@N1@@EAE_NH@Z)
  private: virtual bool __thiscall N1::N2::N3::C::foo(bool)" (?foo@C@N3@N2@N1@@EAE_N_N@Z)
开头的?可能是开始标志,末尾的@Z可能是结束标志
?函数名@最内层命名空间@中间一层命名空间@最外层命名空间@@函数类型 调用约定 返回类型 参数1类型 参数2类型 参数n类型@Z
如果没有参数,@Z变为Z

函数类型:
A private函数
E private virtual 函数
I protected函数
M protected virtual 函数
Q public函数
U public virtual 函数
Y 普通函数


调用约定:
A __cdecl
E __thiscall
G __stdcall
I __fastcall


数据类型:
D char
E unsigned char
F short
G unsigned short
H int
I unsigned int
_J __int64
_K unsigned __int64
M float
N double
_N bool
X void


*/

  

posted @ 2020-05-08 12:27  八转达人  阅读(257)  评论(0编辑  收藏  举报