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 输出总结了每个文件中的 text、data 和 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/>。