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