05. vs2019名称粉碎的简单解析
Posted nutshelln
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) 开头的?可能是开始标志,末尾的@Z可能是结束标志,如果没有参数,@Z变为Z ?函数名@最内层作用域@中间一层作用域@最外层作用域@@函数类型 调用约定 返回类型 参数1类型 参数2类型 参数n类型@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 X void */