| LLVM-SIZE(1) | LLVM | LLVM-SIZE(1) |
نام (NAME)
llvm-size - چاپ اطلاعات اندازه
خلاصه دستور (SYNOPSIS)
llvm-size [options] [input...]
توضیحات (DESCRIPTION)
ابزار llvm-size ابزاری است که اطلاعات اندازه را برای فایلهای باینری چاپ میکند. این ابزار به عنوان جایگزینی مستقیم برای size گنو (GNU) طراحی شده است.
این ابزار اطلاعات اندازه را برای هر input مشخصشده نمایش میدهد. اگر هیچ ورودیای مشخص نشود، برنامه اطلاعات اندازه را برای a.out چاپ میکند. اگر "-" به عنوان یک فایل ورودی مشخص شده باشد، llvm-size فایل را از جریان ورودی استاندارد میخواند. اگر یک ورودی از نوع بایگانی (archive) باشد، اطلاعات اندازه برای تمام اعضای آن نمایش داده خواهد شد.
گزینهها (OPTIONS)
- -A
- معادل --format با مقدار sysv.
- --arch=<arch>
- معماری (یا معماریهایی) از باینریهای جامع (universal) مربوط به Mach-O برای نمایش اطلاعات.
- -B
- معادل --format با مقدار berkeley.
- --common
- گنجاندن اندازه نمادهای عمومی (common) مربوط به ELF در اندازه bss برای قالب خروجی berkeley، یا به عنوان یک مدخل بخش جداگانه برای خروجی sysv. در صورت عدم تعیین، این نمادها نادیده گرفته میشوند.
- --exclude-pagezero
- هنگام محاسبه اطلاعات اندازه برای فایلهای Mach-O، سگمنت __PAGEZERO در نظر گرفته نمیشود. سگمنت __PAGEZERO یک ناحیه از حافظه مجازی است که برای محافظت از حافظه استفاده میشود و نقشی در اندازه واقعی ندارد؛ مستثنی کردن آن میتواند نمایش بهتری از اندازه واقعی ارائه دهد.
- -d
- معادل --radix با مقدار 10.
- -l
- نمایش اطلاعات تفصیلی آدرس و آفست برای سگمنتها و بخشها در فایلهای Mach-O در قالب darwin.
- --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
- نمایش خلاصهای از گزینههای خط فرمان.
- -m
- معادل --format با مقدار darwin.
- -o
- معادل --radix با مقدار 8.
- --radix=<value>
- نمایش
اطلاعات
اندازه در
مبنای (radix)
مشخصشده.
مقادیر
مجاز
عبارتند از
8، 10
(پیشفرض) و
16 به ترتیب
برای
خروجیهای
هشتهشتی
(octal)، دهدهی (decimal)
و
شانزدهشانزدهی
(hexadecimal).
مثال:
$ 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.
- -x
- معادل --radix با مقدار 16.
- @<FILE>
- خواندن گزینههای خط فرمان از فایل پاسخ <FILE>.
وضعیت خروج (EXIT STATUS)
در صورت بروز خطا، llvm-size با یک کد خروج غیر صفر خارج میشود. در غیر این صورت، با کد 0 خارج میشود.
گزارش باگها (BUGS)
برای گزارش باگها، لطفاً به آدرس <https://github.com/llvm/llvm-project/labels/tools:llvm-size> مراجعه کنید.
نویسندگان (AUTHORS)
توسعه و نگهداری توسط تیم LLVM (https://llvm.org).
کپیرایت و تکثیر (COPYRIGHT)
2003-2026, LLVM Project
| 2026-07-15 | 22 |