取消改编已编译的 C++ 名称
当 XL C/C++ 编译 C++ 程序时,它会对所有函数名和某些其他标识进行编码 (mangles) ,以包括类型和作用域限定信息。 为了适应 C++ 函数和运算符的重载,名称修饰是必需的。 链接程序使用这些已管理的名称来 解析重复符号 并确保类型安全链接。 这些被修饰的名称出现在对象文件和最终可执行文件中。
例如,可以处理文件的工具 ( AIX® dump 实用程序) 仅具有已管理的名称而不是原始源代码名称,并在其输出中显示已管理的名称。 由于这些名称不再可识别,因此可能不需要此输出。
两个实用程序将已管理的名称转换为其原始源代码名称:
- c++filt
- 用于对已管理的名称进行解码 (解码) 的过滤器。
- demangle.h
- 可用于开发工具以处理已管理的名称的类库。