llvm-cxxfilt - LLVM 符号名称反修饰器

概要

llvm-cxxfilt [选项] [修饰名称…]

描述

llvm-cxxfilt 是一个符号反修饰器,可以作为 GNU c++filt 工具的替代品使用。它接受一系列符号名称,并在标准输出流上打印它们的反修饰形式。如果一个名称无法反修饰,则会按原样打印。

如果在命令行上没有指定名称,则会从标准输入流交互式地读取名称。当从标准输入读取名称时,每行输入会根据非 Itanium 名称修饰的有效字符(即非字母数字字符、“.”、“$”或“_”)进行拆分。名称之间的分隔符会按原样复制到输出。

示例

$ llvm-cxxfilt _Z3foov _Z3bari not_mangled
foo()
bar(int)
not_mangled
$ cat input.txt
| _Z3foov *** _Z3bari *** not_mangled |
$ llvm-cxxfilt < input.txt
| foo() *** bar(int) *** not_mangled |

选项

--format=<value>, -s

要假定的修饰方案。有效值包括 auto (默认,自动检测样式) 和 gnu (假定 GNU/Itanium 样式)。

--help, -h

打印命令行选项的摘要。

--no-params, -p

不反修饰函数参数或返回类型。

--no-strip-underscore, -n

不去除前导下划线。这是除基于 Mach-O 的主机之外的所有平台的默认设置。

--quote

在反修饰的名称周围添加 。不要引用已经引用的名称。

--strip-underscore, -_

从每个输入名称中去除单个前导下划线(如果存在),然后再进行反修饰。在基于 Mach-O 的平台上默认启用。

--types, -t

尝试将名称反修饰为类型名称以及符号名称。

--version

显示 llvm-cxxfilt 可执行文件的版本。

@<FILE>

从响应文件 <FILE> 读取命令行选项。

退出状态

llvm-cxxfilt 返回 0,除非遇到用法错误,在这种情况下会返回非零退出代码。

另请参阅

llvm-nm(1)