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,除非遇到用法错误,在这种情况下会返回非零退出代码。