| 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)
ابزار GNU size اندازه بخشها و اندازه کل را برای هر یک از فایلهای باینری objfile در فهرست آرگومانهای خود فهرست میکند. به طور پیشفرض، برای هر فایل یا در صورتی که فایل یک آرشیو باشد برای هر ماژول، یک خط خروجی تولید میشود.
objfile... فایلهایی هستند که باید بررسی شوند. اگر هیچ فایلی مشخص نشود، به جای آن از فایل "a.out" استفاده خواهد شد.
گزینهها (OPTIONS)
گزینههای خط فرمان معانی زیر را دارند:
- -A
- -B
- -G
- --format=compatibility
- با استفاده
از یکی از
این
گزینهها،
میتوانید
انتخاب
کنید که آیا
خروجی GNU size
شبیه به
خروجی size در
System V باشد (با
استفاده از
-A یا --format=sysv)، یا
مشابه Berkeley size
باشد (با
استفاده از
-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
- --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 یا GNU، این اندازه در بخش bss لحاظ میشود.
- -t
- --totals
- مجموع مقادیر تمام اشیاء فهرستشده را نشان میدهد (تنها در حالت قالب Berkeley یا GNU).
- --target=bfdname
- مشخص میکند که قالب کد شیء برای objfile برابر با bfdname است. این گزینه ممکن است ضروری نباشد؛ size میتواند به طور خودکار بسیاری از قالبها را تشخیص دهد.
- -v
- -V
- --version
- شماره نگارش size را نمایش میدهد.
- -f
- نادیده گرفته میشود. این گزینه توسط نسخههای دیگر برنامه size به کار میرود، اما در نسخه GNU Binutils پشتیبانی نمیشود.
- @file
- گزینههای
خط فرمان را
از file
میخواند.
گزینههای
خواندهشده
به جای
گزینه اصلی
@file جایگزین
میشوند.
اگر file وجود
نداشته
باشد یا
خوانده
نشود، با
گزینه به
صورت
تحتاللفظی
رفتار
خواهد شد و
حذف
نمیشود.
گزینهها در file با نویسههای فاصله خالی از هم جدا میشوند. یک نویسه فاصله خالی میتواند با قرار دادن کل گزینه درون یک علامت نقلقول تکی یا دوتایی، در گزینه گنجانده شود. هر نویسهای (از جمله بکاسلش) میتواند با قرار دادن یک بکاسلش به عنوان پیشوند نویسه مورد نظر، درج شود. خود فایل file میتواند شامل گزینههای @file دیگری باشد؛ هر یک از چنین گزینههایی به صورت بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
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 |