.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "SIZE 1" .TH SIZE 1 2026-01-23 binutils-2.45.1 "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" size \- فهرست کردن اندازه بخش‌ها و اندازه کل فایل‌های باینری .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" size [\fB\-A\fR|\fB\-B\fR|\fB\-G\fR|\fB\-\-format=\fR\fIcompatibility\fR] [\fB\-\-help\fR] [\fB\-d\fR|\fB\-o\fR|\fB\-x\fR|\fB\-\-radix=\fR\fInumber\fR] [\fB\-\-common\fR] [\fB\-t\fR|\fB\-\-totals\fR] [\fB\-\-target=\fR\fIbfdname\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fB\-f\fR] [\fIobjfile\fR...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" ابزار GNU \fBsize\fR اندازه بخش‌ها و اندازه کل را برای هر یک از فایل‌های باینری \fIobjfile\fR موجود در فهرست آرگومان‌های خود فهرست می‌کند. به‌طور پیش‌فرض، برای هر فایل یا برای هر ماژول (در صورتی که فایل یک آرشیو باشد)، یک خط خروجی تولید می‌شود. .PP \&\fIobjfile\fR... فایل‌هایی هستند که باید بررسی شوند. اگر هیچ فایلی مشخص نشود، فایل \f(CW\*(C`a.out\*(C'\fR به جای آن استفاده خواهد شد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" گزینه‌های خط فرمان معانی زیر را دارند: .IP \fB\-A\fR 4 .IX Item "-A" .PD 0 .IP \fB\-B\fR 4 .IX Item "-B" .IP \fB\-G\fR 4 .IX Item "-G" .IP \fB\-\-format=\fR\fIcompatibility\fR 4 .IX Item "--format=compatibility" .PD با استفاده از یکی از این گزینه‌ها، می‌توانید انتخاب کنید که خروجی GNU \&\fBsize\fR شبیه خروجی System V \fBsize\fR باشد (با استفاده از \fB\-A\fR یا \fB\-\-format=sysv\fR)، یا شبیه Berkeley \fBsize\fR (با استفاده از \fB\-B\fR یا \&\fB\-\-format=berkeley\fR). حالت پیش‌فرض، قالب تک‌خطی مشابه Berkeley است. همچنین می‌توانید خروجی قالب GNU را انتخاب کنید (با استفاده از \fB\-G\fR یا \fB\-\-format=gnu\fR)؛ این قالب شبیه قالب خروجی Berkeley است، اما اندازه‌ها به‌گونه متفاوتی محاسبه می‌شوند. .Sp در اینجا نمونه‌ای از خروجی قالب Berkeley (پیش‌فرض) از \&\fBsize\fR آمده است: .Sp .Vb 4 \& $ size \-\-format=Berkeley ranlib size \& text data bss dec hex filename \& 294880 81920 11592 388392 5ed28 ranlib \& 294880 81920 11888 388688 5ee50 size .Ve .Sp خروجی سبک Berkeley داده‌های فقط‌خواندنی را در ستون \f(CW\*(C`text\*(C'\fR محاسبه می‌کند، نه در ستون \f(CW\*(C`data\*(C'\fR. ستون‌های \f(CW\*(C`dec\*(C'\fR و \f(CW\*(C`hex\*(C'\fR هر دو مجموع ستون‌های \f(CW\*(C`text\*(C'\fR، \f(CW\*(C`data\*(C'\fR و \&\f(CW\*(C`bss\*(C'\fR را به ترتیب در مبنای ده‌دهی و شانزده‌شانزدهی نمایش می‌دهند. .Sp قالب GNU داده‌های فقط‌خواندنی را در ستون \f(CW\*(C`data\*(C'\fR محاسبه می‌کند، نه ستون \f(CW\*(C`text\*(C'\fR، و مجموع ستون‌های \f(CW\*(C`text\*(C'\fR، \&\f(CW\*(C`data\*(C'\fR و \f(CW\*(C`bss\*(C'\fR را تنها یک‌بار در ستون \f(CW\*(C`total\*(C'\fR نمایش می‌دهد. گزینه \fB\-\-radix\fR می‌تواند برای تغییر مبنای اعداد در تمامی ستون‌ها استفاده شود. در اینجا همان داده‌ها با قراردادهای GNU نمایش داده شده‌اند: .Sp .Vb 4 \& $ size \-\-format=GNU ranlib size \& text data bss total filename \& 279880 96920 11592 388392 ranlib \& 279880 96920 11888 388688 size .Ve .Sp این همان داده‌ها است، اما نزدیک‌تر به قراردادهای System V نمایش داده شده است: .Sp .Vb 7 \& $ 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 .Ve .IP \fB\-\-help\fR 4 .IX Item "--help" .PD 0 .IP \fB\-h\fR 4 .IX Item "-h" .IP \fB\-H\fR 4 .IX Item "-H" .IP \fB\-?\fR 4 .IX Item "-?" .PD خلاصه‌ای از گزینه‌ها و آرگومان‌های مجاز را نمایش می‌دهد. .IP \fB\-d\fR 4 .IX Item "-d" .PD 0 .IP \fB\-o\fR 4 .IX Item "-o" .IP \fB\-x\fR 4 .IX Item "-x" .IP \fB\-\-radix=\fR\fInumber\fR 4 .IX Item "--radix=number" .PD با استفاده از یکی از این گزینه‌ها، می‌توانید تعیین کنید که اندازه هر بخش در مبنای ده‌دهی (\fB\-d\fR یا \fB\-\-radix=10\fR)؛ هشت‌هشتی (\fB\-o\fR یا \fB\-\-radix=8\fR)؛ یا شانزده‌شانزدهی (\fB\-x\fR یا \&\fB\-\-radix=16\fR) ارائه شود. در \fB\-\-radix=\fR\fInumber\fR، تنها این سه مقدار (8، 10، 16) پشتیبانی می‌شوند. اندازه کل همیشه در دو مبنا ارائه می‌شود؛ ده‌دهی و شانزده‌شانزدهی برای خروجی \fB\-d\fR یا \fB\-x\fR، یا هشت‌هشتی و شانزده‌شانزدهی در صورتی که از \fB\-o\fR استفاده کنید. .IP \fB\-\-common\fR 4 .IX Item "--common" اندازه کل نمادهای مشترک (common symbols) را در هر فایل چاپ می‌کند. هنگام استفاده از قالب Berkeley یا GNU، این موارد در اندازه bss گنجانده می‌شوند. .IP \fB\-t\fR 4 .IX Item "-t" .PD 0 .IP \fB\-\-totals\fR 4 .IX Item "--totals" .PD مجموع اندازه‌های تمام اشیاء فهرست‌شده را نمایش می‌دهد (فقط در حالت قالب Berkeley یا GNU). .IP \fB\-\-target=\fR\fIbfdname\fR 4 .IX Item "--target=bfdname" مشخص می‌کند که قالب کد شیء (object-code) برای \fIobjfile\fR برابر با \&\fIbfdname\fR است. این گزینه ممکن است ضروری نباشد؛ زیرا \fBsize\fR می‌تواند بسیاری از قالب‌ها را به‌طور خودکار شناسایی کند. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-V\fR 4 .IX Item "-V" .IP \fB\-\-version\fR 4 .IX Item "--version" .PD شماره نسخه \fBsize\fR را نمایش می‌دهد. .IP \fB\-f\fR 4 .IX Item "-f" نادیده گرفته می‌شود. این گزینه توسط نسخه‌های دیگر برنامه \fBsize\fR استفاده می‌شود، اما نسخه GNU Binutils از آن پشتیبانی نمی‌کند. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به جای گزینه اصلی @\fIfile\fR قرار می‌گیرند. اگر \fIfile\fR وجود نداشته باشد، یا نتوان آن را خواند، با گزینه به‌صورت تحت‌اللفظی رفتار خواهد شد و حذف نمی‌شود. .Sp گزینه‌ها در \fIfile\fR با نویسه‌های فاصله خالی (whitespace) از یکدیگر جدا می‌شوند. یک نویسه فاصله خالی را می‌توان با قرار دادن کل گزینه در گیومه تکی یا دوتایی گنجاند. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با پیشوند کردن یک بک‌اسلش به آن نویسه، گنجانده شود. خود \fIfile\fR ممکن است حاوی گزینه‌های @\fIfile\fR بیشتری باشد؛ هر یک از این گزینه‌ها به‌صورت بازگشتی پردازش خواهند شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBar\fR\|(1)، \fBobjdump\fR\|(1)، \fBreadelf\fR\|(1) و مدخل‌های Info برای \fIbinutils\fR. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright (c) 1991\-2025 Free Software Foundation, Inc. .PP مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه 1.3 یا هر نسخه بالاتر منتشر شده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های روی جلد، و بدون متن‌های پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.