有人知道如何根据给定的C ++函数签名获取受损的符号名称吗? e.g:
__stdcall unsigned char MyClass::MyFunc(const int param1, int param2);
会变成:
?MyFunc@MyClass@@QGE@?BHH@Z
使用Microsoft Visual C ++编译器时。
我在考虑一些WINAPI功能,但我没有找到任何...
<小时/> 编辑:好的 - 我知道,这不是一个非常明确的问题。我想要实现的目标如下:
GetMangledName("__stdcall unsigned char MyClass::MyFunc(const int param1, int param2);");
// Returns "?MyFunc@MyClass@@QGE@?BHH@Z"
答案 0 :(得分:1)
我认为名称修改是依赖于编译器的,而不是c ++规范的一部分。因此,据我所知,唯一可靠的方法是调用您正在使用的实际编译器,并获取源名称映射到错位名称的映射。