| 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 |