| 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
است.
همچنین،
میتوانید
قالب خروجی
GNU را انتخاب
کنید (با
استفاده از
-G یا --format=gnu)؛
این قالب
مشابه قالب
خروجی Berkeley
است، اما
اندازهها
به شکل
متفاوتی
محاسبه
میشوند.
در اینجا نمونهای از خروجی size با قالب پیشفرض (Berkeley) آمده است:
$ size --format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size
خروجی به سبک Berkeley دادههای فقطخواندنی (read only) را در ستون "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
- قالب کد شیء (object-code format) را برای objfile برابر با bfdname تعیین میکند. این گزینه ممکن است ضروری نباشد؛ size میتواند بسیاری از قالبها را بهطور خودکار تشخیص دهد.
- -v
- -V
- --version
- شماره نسخه size را نمایش میدهد.
- -f
- نادیده گرفته میشود. این گزینه توسط نگارشهای دیگر برنامه size استفاده میشود، اما توسط نسخه GNU Binutils پشتیبانی نمیشود.
- @file
- گزینههای
خط فرمان را
از file
میخواند.
گزینههای
خواندهشده
به جای
گزینه اصلی
@file درج
میشوند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
گزینه
بهصورت
لغوی
برخورد شده
و حذف
نخواهد شد.
گزینهها در file با فاصلههای خالی (whitespace) از هم جدا میشوند. یک نویسه فاصله خالی میتواند با احاطه کردن کل گزینه در علامتهای نقلقول تکی یا دوتایی درون گزینه گنجانده شود. هر نویسهای (از جمله backslash) میتواند با پیشوند کردن یک backslash درج شود. خود file میتواند حاوی گزینههای @file بیشتری باشد؛ هرکدام از این گزینهها بهطور بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
ar(1)، objdump(1)، readelf(1)، و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
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 |