美文网首页
C++ Mangling

C++ Mangling

作者: 偶是星爷 | 来源:发表于2017-10-19 10:40 被阅读18次

    最近在做C++ Mangling,简而言之就是把"_ZN6System5Sound4beepEv"转换为真实的定义 “System::Sound::beep();”,也就是c++filt主要干的事情。

    C++的Mangling巨复杂,你可以看一下这些示例:

    example

    幸好LLVM和GCC提供了cxxabi.h这个文件,有一个函数能帮我们干这个事情

    extern _LIBCXXABI_FUNC_VIS char *__cxa_demangle(const char *mangled_name,
                                                    char *output_buffer,
                                                    size_t *length, int *status);
    

    注意mangled_name是单下划线('_')开头。

    相关文章

      网友评论

          本文标题:C++ Mangling

          本文链接:https://www.haomeiwen.com/subject/euquuxtx.html