我有一个函数类方法,ValueHolder :: printValue
class ValueHolder {
public:
void printValue ();
} ;
Run Code Online (Sandbox Code Playgroud)
如何在编译时(或运行时)确定其损坏的名称.
例如,我想这样做:
const char *mangled_name = GetMangledNameOfSymbol(&ValueHolder::printValue);
Run Code Online (Sandbox Code Playgroud)
此函数可能返回如下字符串:
"_ZN11ValueHolder10printValueEv"
Run Code Online (Sandbox Code Playgroud)
根据@Marco A.先决条件是现代编译器.一个支持typeid,并打开标志以启用此功能.
我也会接受一个可以为Gcc&Clang实用的答案,以及一个MSVC的存根.