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 است. علاوه بر این، می‌توانید خروجی قالب GNU را انتخاب کنید (با استفاده از -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" را به‌ترتیب در مبنای ده‌دهی و شانزده‌شانزدهی نمایش می‌دهند.

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

$ 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 یا GNU، این مقادیر در اندازه bss محاسبه می‌شوند.
نمایش مجموع مقادیر تمامی اشیای فهرست‌شده (فقط در حالت قالب Berkeley یا GNU).
مشخص می‌کند که قالب شیء‌کد (object-code) برای 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)، نگارش 1.3 یا هر نگارش بعدی منتشر شده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. یک نسخه از این مجوز در بخش تحت عنوان «GNU Free Documentation License» گنجانده شده است.

2026-01-23 binutils-2.45.1