LLVM-SIZE(1) LLVM LLVM-SIZE(1)

llvm-size - چاپ اطلاعات اندازه

llvm-size [options] [input...]

ابزار llvm-size ابزاری است که اطلاعات اندازه را برای فایل‌های باینری چاپ می‌کند. این ابزار به عنوان جایگزینی مستقیم برای size گنو (GNU) طراحی شده است.

این ابزار اطلاعات اندازه را برای هر input مشخص‌شده نمایش می‌دهد. اگر هیچ ورودی‌ای مشخص نشود، برنامه اطلاعات اندازه را برای a.out چاپ می‌کند. اگر "-" به عنوان یک فایل ورودی مشخص شده باشد، llvm-size فایل را از جریان ورودی استاندارد می‌خواند. اگر یک ورودی از نوع بایگانی (archive) باشد، اطلاعات اندازه برای تمام اعضای آن نمایش داده خواهد شد.

معادل --format با مقدار sysv.
معماری (یا معماری‌هایی) از باینری‌های جامع (universal) مربوط به Mach-O برای نمایش اطلاعات.
معادل --format با مقدار berkeley.
گنجاندن اندازه نمادهای عمومی (common) مربوط به ELF در اندازه bss برای قالب خروجی berkeley، یا به عنوان یک مدخل بخش جداگانه برای خروجی sysv. در صورت عدم تعیین، این نمادها نادیده گرفته می‌شوند.
هنگام محاسبه اطلاعات اندازه برای فایل‌های Mach-O، سگمنت __PAGEZERO در نظر گرفته نمی‌شود. سگمنت __PAGEZERO یک ناحیه از حافظه مجازی است که برای محافظت از حافظه استفاده می‌شود و نقشی در اندازه واقعی ندارد؛ مستثنی کردن آن می‌تواند نمایش بهتری از اندازه واقعی ارائه دهد.
معادل --radix با مقدار 10.
نمایش اطلاعات تفصیلی آدرس و آفست برای سگمنت‌ها و بخش‌ها در فایل‌های Mach-O در قالب darwin.
تنظیم قالب خروجی روی <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
نمایش خلاصه‌ای از گزینه‌های خط فرمان.
معادل --format با مقدار darwin.
معادل --radix با مقدار 8.
نمایش اطلاعات اندازه در مبنای (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
تنها برای قالب خروجی 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)
نمایش نسخه برنامه اجرایی llvm-size.
معادل --radix با مقدار 16.
@<FILE>
خواندن گزینه‌های خط فرمان از فایل پاسخ <FILE>.

در صورت بروز خطا، llvm-size با یک کد خروج غیر صفر خارج می‌شود. در غیر این صورت، با کد 0 خارج می‌شود.

برای گزارش باگ‌ها، لطفاً به آدرس <https://github.com/llvm/llvm-project/labels/tools:llvm-size> مراجعه کنید.

توسعه و نگهداری توسط تیم LLVM (https://llvm.org).

2003-2026, LLVM Project

2026-07-15 22