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