llvm-strings - 打印字符串¶
概要¶
llvm-strings [选项] [输入…]
描述¶
llvm-strings 是一款旨在替代 GNU 的 strings 的工具,用于查找文件中的可打印字符串并将其写入标准输出流。可打印字符串是指任何至少包含四个(默认值)或更多可打印 ASCII 字符的序列。文件末尾或任何其他字节都会终止当前序列。
llvm-strings 会在指定的每个 input
文件中查找字符串。与 GNU strings 不同,它会搜索整个输入文件,而不管文件格式如何,而不是仅限于对象文件的某些部分。如果将“-
”指定为 input
,或者未指定 input
,则程序会从标准输入流读取。
示例¶
$ cat input.txt
bars
foo
wibble blob
$ llvm-strings input.txt
bars
wibble blob
选项¶
- --all, -a¶
静默忽略。为了与 GNU strings 兼容而存在。
- --bytes=<length>, -n¶
设置要视为字符串的字节序列所需的最小可打印 ASCII 字符数。默认值为 4。
- --help, -h¶
显示命令行选项的摘要。
- --print-file-name, -f¶
在每个字符串之前显示包含文件的名称。
示例
$ llvm-strings --print-file-name test.o test.elf test.o: _Z5hellov test.o: some_bss test.o: test.cpp test.o: main test.elf: test.cpp test.elf: test2.cpp test.elf: _Z5hellov test.elf: main test.elf: some_bss
- --radix=<radix>, -t¶
在字符串之前并使用指定的基数显示每个字符串在文件中的偏移量。有效的
<radix>
值为o
、d
和x
,分别表示八进制、十进制和十六进制。示例
$ llvm-strings --radix=o test.o 1054 _Z5hellov 1066 .rela.text 1101 .comment 1112 some_bss 1123 .bss 1130 test.cpp 1141 main $ llvm-strings --radix=d test.o 556 _Z5hellov 566 .rela.text 577 .comment 586 some_bss 595 .bss 600 test.cpp 609 main $ llvm-strings -t x test.o 22c _Z5hellov 236 .rela.text 241 .comment 24a some_bss 253 .bss 258 test.cpp 261 main
- --version¶
显示 llvm-strings 可执行文件的版本。
- @<FILE>¶
从响应文件
<FILE>
中读取命令行选项。
退出状态¶
llvm-strings 在发生错误时会以非零退出代码退出。否则,它会以代码 0 退出。
Bug¶
要报告 Bug,请访问 <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>。