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 برکلی (با استفاده از -B یا --format=berkeley). حالت پیش‌فرض، قالب تک‌خطی مشابه قالب برکلی است. علاوه بر این، می‌توانید قالب خروجی گنو را انتخاب کنید (با استفاده از -G یا --format=gnu)؛ این قالب شبیه به قالب خروجی برکلی است، اما اندازه‌ها به شیوه متفاوتی محاسبه می‌شوند.

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

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

خروجی به سبک برکلی، داده‌های فقط‌خواندنی را در ستون "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.
چاپ اندازه کل نمادهای مشترک در هر فایل. هنگام استفاده از قالب برکلی یا گنو، این موارد در اندازه bss گنجانده می‌شوند.
نمایش مجموع کل تمام اشیای فهرست‌شده (تنها در حالت قالب برکلی یا گنو).
مشخص می‌کند که قالب کد شیء برای 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-2026 Free Software Foundation, Inc.

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

2026-08-31 binutils-2.47