从Mangled C ++名称中提取参数类型

时间:2011-06-23 23:40:20

标签: c++

我正在试图弄清楚传递给函数的参数的类型。 我想使用函数的错位名称来执行此操作。

例如,以下函数具有参数 _ZN7MyClass3funEP14AnAwesomeClass

MyClass* this, AnAwesomeClass* p1

我现在想要生成对每个传递参数的toString成员函数的函数调用。

E.g。

_ZN7MyClass7toStringEv

_ZN14AnAwesomeClass7toStringEv

取消名称并不是很难。但是如何提取参数并将它们重新转换为新的函数名?

关于如何实现这一目标的任何想法?

由于

2 个答案:

答案 0 :(得分:1)

一些方法:

  1. c++filt
  2. nm -C
  3. objdump -t -C

答案 1 :(得分:1)

已经为g ++和其他* nix编译器列出了几个工具;我还为VC ++添加了undname and dumpbin