llvm-size - 打印大小信息¶
概要¶
llvm-size [选项] [输入…]
描述¶
llvm-size 是一个用于打印二进制文件大小信息的工具。它旨在作为 GNU 的 size 的替代品。
该工具会打印每个指定的 input
的大小信息。如果未指定输入,则程序会打印 a.out
的大小信息。“-
” 如果指定为输入文件,则 llvm-size 会从标准输入流读取文件。如果输入是归档文件,则会显示其所有成员的大小信息。
选项¶
- --arch=<arch>¶
来自 Mach-O 通用二进制文件的体系结构,用于显示其信息。
- --common¶
在
berkeley
输出格式中包含 ELF 通用符号大小到 bss 大小,或在sysv
输出中作为单独的节条目。如果未指定,则忽略这些符号。
- -l¶
在
darwin
格式中显示 Mach-O 文件中段和节的详细地址和偏移信息。
- --format=<format>¶
将输出格式设置为指定的
<format>
。可用的<format>
选项为berkeley
(默认值)、sysv
和darwin
。Berkeley 输出总结每个文件中的文本、数据和 bss 大小,如下所示,这是一个典型的 ELF 文件对
$ llvm-size --format=berkeley test.o test2.o text data bss dec hex filename 182 16 5 203 cb test.elf 82 8 1 91 5b test2.o
对于 Mach-O 文件,输出格式略有不同
$ llvm-size --format=berkeley macho.obj macho2.obj __TEXT __DATA __OBJC others dec hex 4 8 0 0 12 c macho.obj 16 32 0 0 48 30 macho2.obj
Sysv 输出显示大多数节的大小和地址信息,每个文件分别列出
$ llvm-size --format=sysv test.elf test2.o test.elf : section size addr .eh_frame 92 2097496 .text 90 2101248 .data 16 2105344 .bss 5 2105360 .comment 209 0 Total 412 test2.o : section size addr .text 26 0 .data 8 0 .bss 1 0 .comment 106 0 .note.GNU-stack 0 0 .eh_frame 56 0 .llvm_addrsig 2 0 Total 199
darwin
格式仅影响 Mach-O 输入文件。如果指定了不同文件格式的输入,则 llvm-size 会回退到berkeley
格式。在生成darwin
格式时,该工具会显示有关段和节的信息$ llvm-size --format=darwin macho.obj macho2.obj macho.obj: Segment : 12 Section (__TEXT, __text): 4 Section (__DATA, __data): 8 total 12 total 12 macho2.obj: Segment : 48 Section (__TEXT, __text): 16 Section (__DATA, __data): 32 total 48 total 48
- --help, -h¶
显示命令行选项的摘要。
- --radix=<value>¶
以指定的基数显示大小信息。允许的值为
8
、10
(默认值)和16
,分别表示八进制、十进制和十六进制输出。示例
$ llvm-size --radix=8 test.o text data bss oct hex filename 0152 04 04 162 72 test.o $ llvm-size --radix=10 test.o text data bss dec hex filename 106 4 4 114 72 test.o $ llvm-size --radix=16 test.o text data bss dec hex filename 0x6a 0x4 0x4 114 72 test.o
- --totals, -t¶
仅适用于
berkeley
输出格式。除了各个文件列表外,还显示所有列出字段的总计。示例
$ llvm-size --totals test.elf test2.o text data bss dec hex filename 182 16 5 203 cb test.elf 82 8 1 91 5b test2.o 264 24 6 294 126 (TOTALS)
- --version¶
显示 llvm-size 可执行文件的版本。
- @<FILE>¶
从响应文件
<FILE>
读取命令行选项。
退出状态¶
llvm-size 如果发生错误,则退出时返回非零退出代码。否则,它退出时返回代码 0。
错误¶
要报告错误,请访问 <https://github.com/llvm/llvm-project/labels/tools:llvm-size/>。