| SIZE(1) | GNU Development Tools | SIZE(1) |
نام (NAME)
size - نمایش اندازه بخشها و اندازه کل فایلهای باینری
خلاصه دستور (SYNOPSIS)
size
[-A|-B|-G|--format=compatibility]
[--help]
[-d|-o|-x|--radix=number]
[--common]
[-t|--totals]
[--target=bfdname] [-V|--version]
[-f]
[objfile...]
توضیحات (DESCRIPTION)
ابزار size گنو، اندازه بخشها و اندازه کل هر یک از فایلهای باینری objfile موجود در فهرست آرگومانهای خود را فهرست میکند. بهطور پیشفرض، برای هر فایل یا در صورتی که فایل یک آرشیو باشد، برای هر ماژول یک خط خروجی تولید میشود.
objfile... فایلهایی هستند که باید بررسی شوند. اگر هیچ فایلی مشخص نشود، فایل "a.out" به جای آن استفاده خواهد شد.
گزینهها (OPTIONS)
گزینههای خط فرمان دارای معانی زیر هستند:
- -A
- -B
- -G
- --format=compatibility
- با استفاده
از یکی از
این
گزینهها،
میتوانید
تعیین کنید
که خروجی size
گنو مشابه
خروجی size در
System V باشد (با
استفاده از
-A یا --format=sysv)، یا
مشابه Berkeley size
باشد (با
استفاده از
-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
- --help
- -h
- -H
- -?
- نمایش خلاصهای از گزینهها و آرگومانهای مجاز.
- -d
- -o
- -x
- --radix=number
- با استفاده از یکی از این گزینهها، میتوانید مشخص کنید که اندازه هر بخش بر مبنای دهدهی (-d یا --radix=10)؛ هشتهشتی (-o یا --radix=8)؛ یا شانزدهشانزدهی (-x یا --radix=16) ارائه شود. در --radix=number، تنها این سه مقدار (8، 10، 16) پشتیبانی میشوند. اندازه کل همواره در دو مبنا داده میشود؛ برای خروجی -d یا -x بر مبنای دهدهی و شانزدهشانزدهی، یا در صورت استفاده از -o بر مبنای هشتهشتی و شانزدهشانزدهی.
- --common
- چاپ اندازه کل نمادهای مشترک (common symbols) در هر فایل. هنگام استفاده از قالب Berkeley یا گنو، این مقدار در اندازه بخش bss محاسبه میشود.
- -t
- --totals
- نمایش مجموع اندازه تمام اشیاء فهرستشده (تنها در حالت قالب Berkeley یا گنو).
- --target=bfdname
- مشخص میکند که قالب کد شیء برای objfile برابر با bfdname است. این گزینه ممکن است ضروری نباشد؛ زیرا size میتواند بهطور خودکار بسیاری از قالبها را تشخیص دهد.
- -v
- -V
- --version
- نمایش شماره نسخه size.
- -f
- نادیده گرفته میشود. این گزینه در نسخههای دیگر برنامه size استفاده میشود، اما نسخه GNU Binutils از آن پشتیبانی نمیکند.
- @file
- خواندن
گزینههای
خط فرمان از
file.
گزینههای
خواندهشده
دقیقاً به
جای گزینه
اصلی @file
قرار
میگیرند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
گزینه
بهصورت
تحتاللفظی
رفتار
خواهد شد و
حذف
نمیشود.
گزینهها در file با نویسههای فاصله خالی (whitespace) جدا میشوند. میتوان یک نویسه فاصله خالی را با قرار دادن کل گزینه درون گیومه تکی یا جفتی در گزینه گنجاند. هر نویسهای (از جمله ممیز وارونه) را میتوان با قرار دادن یک پیشوند ممیز وارونه (backslash) به آن وارد کرد. خود file نیز ممکن است شامل گزینههای @file دیگری باشد؛ چنین گزینههایی بهصورت بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
ar(1)، objdump(1)، readelf(1)، و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
حق نشر (c) 1991-2026 Free Software Foundation, Inc.
اجازه کپی، توزیع و/یا اصلاح این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه 1.3 یا هر نسخه بالاتر منتشر شده توسط بنیاد نرمافزارهای آزاد اعطا میشود؛ بدون بخشهای تغییرناپذیر، بدون متنهای روی جلد و بدون متنهای پشت جلد. نسخهای از این مجوز در بخش تحت عنوان «GNU Free Documentation License» گنجانده شده است.
| 2026-08-03 | binutils-2.47 |