SIZE(1) GNU Development Tools SIZE(1)

or1k-elf-size - فهرست کردن اندازه بخش‌ها و اندازه کل فایل‌های باینری

size [-A|-B|-G|--format=compatibility]
[--help]
[-d|-o|-x|--radix=number]
[--common]
[-t|--totals]
[--target=bfdname] [-V|--version]
[-f]
[objfile...]

ابزار size گنو، اندازه بخش‌ها و اندازه کل هر یک از فایل‌های باینری objfile مشخص‌شده در فهرست آرگومان‌هایش را فهرست می‌کند. به‌طور پیش‌فرض، برای هر فایل یا در صورتی که فایل یک آرشیو باشد برای هر ماژول، یک خط خروجی تولید می‌شود.

objfile... فایل‌هایی هستند که باید بررسی شوند. اگر هیچ فایلی مشخص نشود، فایل "a.out" به جای آن استفاده خواهد شد.

گزینه‌های خط فرمان معانی زیر را دارند:

با استفاده از یکی از این گزینه‌ها، می‌توانید انتخاب کنید که آیا خروجی size گنو مشابه خروجی size در System V باشد (با استفاده از -A یا --format=sysv)، یا مشابه size در Berkeley (با استفاده از -B یا --format=berkeley). حالت پیش‌فرض، قالب تک‌خطی مشابه با Berkeley است. همچنین، می‌توانید قالب خروجی گنو را انتخاب کنید (با استفاده از -G یا --format=gnu)؛ این قالب شبیه به قالب خروجی Berkeley است، اما اندازه‌ها در آن به شکل متفاوتی محاسبه می‌شوند.

در اینجا نمونه‌ای از قالب خروجی Berkeley (پیش‌فرض) از size آورده شده است:

$ size --format=Berkeley ranlib size
   text    data     bss     dec     hex filename
 294880   81920   11592  388392   5ed28 ranlib
 294880   81920   11888  388688   5ee50 size

خروجی به سبک Berkeley داده‌های فقط‌خواندنی را در ستون "text" به حساب می‌آورد، نه در ستون "data"؛ ستون‌های "dec" و "hex" هر دو مجموع ستون‌های "text"، "data" و "bss" را به ترتیب در مبنای ده‌دهی و شانزده‌شانزدهی نمایش می‌دهند.

قالب گنو داده‌های فقط‌خواندنی را در ستون "data" به شمار می‌آورد، نه در ستون "text"، و مجموع ستون‌های "text"، "data" و "bss" را تنها یک بار، در ستون "total" نمایش می‌دهد. از گزینه --radix می‌توان برای تغییر مبنای عددی همه ستون‌ها استفاده کرد. در اینجا همان داده‌ها بر اساس قواعد گنو نمایش داده شده‌اند:

$ size --format=GNU ranlib size
      text       data        bss      total filename
    279880      96920      11592     388392 ranlib
    279880      96920      11888     388688 size

این همان داده‌ها است، اما با روشی نزدیک‌تر به قواعد System V نمایش داده شده است:

$ size --format=SysV ranlib size
ranlib  :
section         size         addr
.text         294880         8192
.data          81920       303104
.bss           11592       385024
Total         388392
size  :
section         size         addr
.text         294880         8192
.data          81920       303104
.bss           11888       385024
Total         388688
-?
نمایش خلاصه‌ای از آرگومان‌ها و گزینه‌های پذیرفته‌شده.
با استفاده از یکی از این گزینه‌ها، می‌توانید تعیین کنید که اندازه هر بخش به صورت ده‌دهی (-d یا --radix=10)، هشت‌هشتی (-o یا --radix=8) یا شانزده‌شانزدهی (-x یا --radix=16) داده شود. در --radix=number تنها سه مقدار (8، 10، 16) پشتیبانی می‌شوند. اندازه کل همیشه در دو مبنا ارائه می‌شود؛ ده‌دهی و شانزده‌شانزدهی برای خروجی -d یا -x، یا هشت‌هشتی و شانزده‌شانزدهی در صورتی که از -o استفاده کنید.
چاپ اندازه کل نمادهای مشترک (common symbols) در هر فایل. هنگام استفاده از قالب Berkeley یا گنو، این مقادیر در اندازه bss گنجانده می‌شوند.
نمایش مجموع همه شیءهای فهرست‌شده (تنها در حالت قالب Berkeley یا گنو).
مشخص می‌کند که قالب کد شیء برای objfile برابر با bfdname است. این گزینه ممکن است لازم نباشد؛ size می‌تواند به طور خودکار بسیاری از قالب‌ها را شناسایی کند.
نمایش شماره نسخه size.
نادیده گرفته می‌شود. این گزینه توسط نسخه‌های دیگر برنامه size استفاده می‌شود، اما توسط نسخه GNU Binutils پشتیبانی نمی‌شود.
@file
خواندن گزینه‌های خط فرمان از file. گزینه‌های خوانده‌شده به جای گزینه اصلی @file درج می‌شوند. اگر file وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به صورت عینی برخورد می‌شود و حذف نخواهد شد.

گزینه‌ها در file با نویسه‌های فاصله خالی (whitespace) از یکدیگر جدا می‌شوند. یک نویسه فاصله می‌تواند با قرار دادن کل گزینه درون گیومه تکی یا دوگانه در آن گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با پیشوند کردن یک بک‌اسلش به نویسه مورد نظر وارد شود. خود file نیز می‌تواند شامل گزینه‌های @file بیشتری باشد؛ هر گونه گزینه از این دست به صورت بازگشتی پردازش خواهد شد.

ar(1)، objdump(1)، readelf(1) و مدخل‌های Info برای binutils.

Copyright (c) 1991-2025 Free Software Foundation, Inc.

اجازه‌نامه برای رونوشت‌برداری، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشر شده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون هیچ بخش تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. یک نسخه از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.

2026-01-23 binutils-2.45.1