| 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 موجود در فهرست آرگومانهایش را فهرست میکند. بهطور پیشفرض، برای هر فایل یا در صورتی که فایل یک آرشیو باشد برای هر پودمان (module)، یک خط خروجی تولید میشود.
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) از یکدیگر جدا میشوند. یک نویسه فاصله خالی میتواند با احاطه کردن کل گزینه درون علامت نقلقول تکی یا دوتایی، درون گزینه گنجانده شود. هر نویسهای (از جمله بکاسلش) میتواند با قرار دادن یک پیشوند بکاسلش قبل از نویسه مورد نظر درج شود. خودِ 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 |