SIZE(1) GNU Development Tools SIZE(1)

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 است، اما اندازه‌ها در آن به روش متفاوتی محاسبه می‌شوند.

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

$ 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 یا گنو).
مشخص می‌کند که قالب شیء‌کد (object-code) برای objfile عبارت از bfdname است. این گزینه ممکن است ضروری نباشد؛ size می‌تواند بسیاری از قالب‌ها را به‌طور خودکار تشخیص دهد.
شماره نگارش size را نمایش می‌دهد.
نادیده گرفته می‌شود. این گزینه در نگارش‌های دیگر برنامهٔ size استفاده می‌شود، اما در نگارش GNU Binutils پشتیبانی نمی‌شود.
@file
گزینه‌های خط فرمان را از file می‌خواند. گزینه‌های خوانده‌شده به جای گزینهٔ اولیهٔ @file درج می‌شوند. اگر file وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به‌صورت لغوی برخورد شده و حذف نخواهد شد.

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

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

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

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

2026-08-03 binutils-2.47