| 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)، یا
شبیه به
خروجی size در
Berkeley باشد (با
استفاده از
-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
- مشخص کردن اینکه قالب کد شیء (object-code) برای 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)
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 |