.\" -*- 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 "WINDRES 1" .TH WINDRES 1 2026-08-26 binutils-2.47 "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)" windres \- دستکاری و مدیریت منابع ویندوز .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" windres [options] [input\-file] [output\-file] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برنامهٔ \&\fBwindres\fR منابع (resources) را از یک فایل ورودی می‌خواند و آن‌ها را در یک فایل خروجی کپی می‌کند. هر یک از این دو فایل می‌توانند در یکی از سه قالب زیر باشند: .ie n .IP """rc""" 4 .el .IP \f(CWrc\fR 4 .IX Item "rc" یک قالب متنی که توسط کامپایلر منابع (Resource Compiler) خوانده می‌شود. .ie n .IP """res""" 4 .el .IP \f(CWres\fR 4 .IX Item "res" یک قالب دودویی (باینری) که توسط Resource Compiler تولید می‌شود. .ie n .IP """coff""" 4 .el .IP \f(CWcoff\fR 4 .IX Item "coff" یک شیء یا فایل اجرایی COFF. .PP توضیحات دقیق این قالب‌های مختلف در مستندات مایکروسافت در دسترس است. .PP هنگامی که \fBwindres\fR از قالب \f(CW\*(C`rc\*(C'\fR به قالب \f(CW\*(C`res\*(C'\fR تبدیل می‌کند، عملکردی مشابه کامپایلر منابع ویندوز (Windows Resource Compiler) دارد. هنگامی که \fBwindres\fR از قالب \f(CW\*(C`res\*(C'\fR به قالب \f(CW\*(C`coff\*(C'\fR تبدیل می‌کند، همانند برنامهٔ \f(CW\*(C`CVTRES\*(C'\fR در ویندوز عمل می‌کند. .PP هنگامی که \fBwindres\fR یک فایل \f(CW\*(C`rc\*(C'\fR تولید می‌کند، خروجی مشابه قالبی است که برای ورودی انتظار می‌رود، اما دقیقاً با آن یکسان نیست. زمانی که یک فایل ورودی \f(CW\*(C`rc\*(C'\fR به نام یک فایل خارجی ارجاع می‌دهد، فایل خروجی \f(CW\*(C`rc\*(C'\fR در عوض محتویات آن فایل را درون خود قرار می‌دهد. .PP اگر قالب ورودی یا خروجی مشخص نشده باشد، \fBwindres\fR آن را بر اساس نام فایل یا برای فایل ورودی بر پایهٔ محتویات فایل حدس خواهد زد. فایلی با پسوند \fI.rc\fR به عنوان یک فایل \f(CW\*(C`rc\*(C'\fR، فایلی با پسوند \fI.res\fR به عنوان یک فایل \f(CW\*(C`res\*(C'\fR و فایلی با پسوند \fI.o\fR یا \fI.exe\fR به عنوان یک فایل \f(CW\*(C`coff\*(C'\fR در نظر گرفته خواهد شد. .PP اگر هیچ فایل خروجی‌ای مشخص نشده باشد، \fBwindres\fR منابع را با قالب \f(CW\*(C`rc\*(C'\fR در خروجی استاندارد چاپ خواهد کرد. .PP کاربرد متداول این است که شما یک فایل \f(CW\*(C`rc\*(C'\fR بنویسید، با استفاده از \fBwindres\fR آن را به یک فایل شیء COFF تبدیل کنید، و سپس فایل COFF را در برنامهٔ خود پیوند (link) دهید. این کار منابع توصیف‌شده در فایل \f(CW\*(C`rc\*(C'\fR را در ویندوز در دسترس قرار می‌دهد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-i\fR \fIfilename\fR" 4 .IX Item "-i filename" .PD 0 .IP "\fB\-\-input\fR \fIfilename\fR" 4 .IX Item "--input filename" .PD نام فایل ورودی. اگر از این گزینه استفاده نشود، \fBwindres\fR از نخستین آرگومان غیرگزینه‌ای به عنوان نام فایل ورودی استفاده خواهد کرد. در صورت نبود هیچ آرگومان غیرگزینه‌ای، \fBwindres\fR از ورودی استاندارد می‌خواند. برنامهٔ \fBwindres\fR نمی‌تواند یک فایل COFF را از ورودی استاندارد بخواند. .IP "\fB\-o\fR \fIfilename\fR" 4 .IX Item "-o filename" .PD 0 .IP "\fB\-\-output\fR \fIfilename\fR" 4 .IX Item "--output filename" .PD نام فایل خروجی. اگر از این گزینه استفاده نشود، \fBwindres\fR نخستین آرگومان غیرگزینه‌ای را (پس از هر آرگومانی که برای نام فایل ورودی استفاده شده باشد) به عنوان نام فایل خروجی به کار می‌برد. اگر هیچ آرگومان غیرگزینه‌ای وجود نداشته باشد، \fBwindres\fR در خروجی استاندارد می‌نویسد. \fBwindres\fR نمی‌تواند یک فایل COFF را در خروجی استاندارد بنویسد. توجه داشته باشید که جهت سازگاری با \fBrc\fR گزینهٔ \fB\-fo\fR نیز پذیرفته می‌شود، اما استفاده از آن توصیه نمی‌شود. .IP "\fB\-J\fR \fIformat\fR" 4 .IX Item "-J format" .PD 0 .IP "\fB\-\-input\-format\fR \fIformat\fR" 4 .IX Item "--input-format format" .PD قالب ورودی جهت خواندن. مقدار \fIformat\fR می‌تواند \fBres\fR، \fBrc\fR یا \fBcoff\fR باشد. اگر هیچ قالب ورودی‌ای مشخص نشود، \fBwindres\fR همان‌طور که در بالا توضیح داده شد آن را حدس خواهد زد. .IP "\fB\-O\fR \fIformat\fR" 4 .IX Item "-O format" .PD 0 .IP "\fB\-\-output\-format\fR \fIformat\fR" 4 .IX Item "--output-format format" .PD قالب خروجی جهت تولید. مقدار \fIformat\fR می‌تواند \fBres\fR، \fBrc\fR یا \fBcoff\fR باشد. اگر هیچ قالب خروجی‌ای مشخص نشود، \fBwindres\fR همان‌طور که در بالا توصیف شد آن را حدس خواهد زد. .IP "\fB\-F\fR \fItarget\fR" 4 .IX Item "-F target" .PD 0 .IP "\fB\-\-target\fR \fItarget\fR" 4 .IX Item "--target target" .PD قالب BFD مورد استفاده برای فایل COFF را به عنوان ورودی یا خروجی تعیین می‌کند. این مقدار یک نام هدف (target) در BFD است؛ برای مشاهدهٔ فهرستی از اهداف پشتیبانی‌شده می‌توانید از گزینهٔ \fB\-\-help\fR استفاده کنید. به‌طور معمول \fBwindres\fR از قالب پیش‌فرض که نخستین مورد در فهرستِ گزینهٔ \fB\-\-help\fR است، استفاده خواهد کرد. .IP "\fB\-\-preprocessor\fR \fIprogram\fR" 4 .IX Item "--preprocessor program" هنگامی که \fBwindres\fR یک فایل \f(CW\*(C`rc\*(C'\fR را می‌خواند، ابتدا آن را از پیش‌پردازندهٔ C عبور می‌دهد. این گزینه می‌تواند برای تعیین پیش‌پردازندهٔ مورد استفاده به کار رود. پیش‌پردازندهٔ پیش‌فرض \f(CW\*(C`gcc\*(C'\fR است. .IP "\fB\-\-preprocessor\-arg\fR \fIoption\fR" 4 .IX Item "--preprocessor-arg option" هنگامی که \fBwindres\fR یک فایل \f(CW\*(C`rc\*(C'\fR را می‌خواند، ابتدا آن را از پیش‌پردازندهٔ C عبور می‌دهد. از این گزینه می‌توان برای تعیین متن‌های اضافی جهت ارسال به خط فرمان پیش‌پردازنده استفاده کرد. این گزینه می‌تواند چندین بار برای افزودن چندین گزینه به خط فرمان پیش‌پردازنده به کار رود. اگر گزینهٔ \fB\-\-preprocessor\fR تعیین نشده باشد، مجموعه‌ای از آرگومان‌های پیش‌فرض پیش‌پردازنده استفاده خواهد شد و هر گزینهٔ \fB\-\-preprocessor\-arg\fR پس از آن‌ها در خط فرمان قرار می‌گیرد. این آرگومان‌های پیش‌فرض عبارتند از: \f(CW\*(C`\-E\*(C'\fR، \f(CW\*(C`\-xc\-header\*(C'\fR و \f(CW\*(C`\-DRC_INVOKED\*(C'\fR. .IP "\fB\-I\fR \fIdirectory\fR" 4 .IX Item "-I directory" .PD 0 .IP "\fB\-\-include\-dir\fR \fIdirectory\fR" 4 .IX Item "--include-dir directory" .PD یک دایرکتوری include را برای استفاده هنگام خواندن یک فایل \f(CW\*(C`rc\*(C'\fR تعیین می‌کند. \&\fBwindres\fR این دایرکتوری را به عنوان گزینهٔ \fB\-I\fR به پیش‌پردازنده ارسال می‌کند. همچنین \fBwindres\fR هنگام جستجو برای فایل‌های نام‌برده در فایل \f(CW\*(C`rc\*(C'\fR، این دایرکتوری را می‌کاود. اگر آرگومان ارائه‌شده به این گزینه با هر یک از \fIformat\fRهای پشتیبانی‌شده (همان‌طور که در گزینهٔ \fB\-J\fR شرح داده شده) مطابقت داشته باشد، هشداری مبنی بر منسوخ‌شدگی صادر می‌کند و رفتاری دقیقاً همانند گزینهٔ \fB\-J\fR خواهد داشت. برنامه‌های جدید نباید از این رفتار استفاده کنند. اگر نام یک دایرکتوری تصادفاً با یک \fIformat\fR هم‌نام بود، کافی است پیشوند \fB./\fR را به آن اضافه کنید تا سازگاری با گذشته غیرفعال شود. .IP "\fB\-D\fR \fItarget\fR" 4 .IX Item "-D target" .PD 0 .IP "\fB\-\-define\fR \fIsym\fR\fB[=\fR\fIval\fR\fB]\fR" 4 .IX Item "--define sym[=val]" .PD گزینهٔ \fB\-D\fR را جهت ارسال به پیش‌پردازنده هنگام خواندن فایل \f(CW\*(C`rc\*(C'\fR تعیین می‌کند. .IP "\fB\-U\fR \fItarget\fR" 4 .IX Item "-U target" .PD 0 .IP "\fB\-\-undefine\fR \fIsym\fR" 4 .IX Item "--undefine sym" .PD گزینهٔ \fB\-U\fR را جهت ارسال به پیش‌پردازنده هنگام خواندن فایل \f(CW\*(C`rc\*(C'\fR تعیین می‌کند. .IP \fB\-r\fR 4 .IX Item "-r" جهت سازگاری با rc نادیده گرفته می‌شود. .IP \fB\-v\fR 4 .IX Item "-v" حالت پرگو (verbose) را فعال می‌کند. اگر پیش‌پردازنده‌ای را تعیین نکرده باشید، این گزینه مشخص می‌کند که از چه پیش‌پردازنده‌ای استفاده شده است. .IP "\fB\-c\fR \fIval\fR" 4 .IX Item "-c val" .PD 0 .IP "\fB\-\-codepage\fR \fIval\fR" 4 .IX Item "--codepage val" .PD صفحه‌کد (codepage) پیش‌فرض مورد استفاده هنگام خواندن یک فایل \f(CW\*(C`rc\*(C'\fR را تعیین می‌کند. مقدار \fIval\fR باید یک کد صفحه‌کد مبنای شانزده با پیشوند \fB0x\fR یا مبنای ده باشد. دامنهٔ مجاز از صفر تا 0xffff است، اما معتبر بودن صفحه‌کد به میزبان و پیکربندی بستگی دارد. .IP "\fB\-l\fR \fIval\fR" 4 .IX Item "-l val" .PD 0 .IP "\fB\-\-language\fR \fIval\fR" 4 .IX Item "--language val" .PD زبان پیش‌فرض مورد استفاده هنگام خواندن یک فایل \f(CW\*(C`rc\*(C'\fR را مشخص می‌کند. مقدار \fIval\fR باید یک کد زبان مبنای شانزده باشد. هشت بیت پایین زبان را مشخص کرده و هشت بیت بالا زیرزبان (sublanguage) را تعیین می‌کنند. .IP \fB\-\-use\-temp\-file\fR 4 .IX Item "--use-temp-file" برای خواندن خروجی پیش‌پردازنده به جای استفاده از popen، از یک فایل موقت استفاده می‌کند. در صورتی از این گزینه استفاده کنید که پیاده‌سازی popen روی میزبان باگ داشته باشد (برای نمونه، مشخص شده که نسخه‌های غیرانگلیسی خاصی از Windows 95 و Windows 98 دارای پیاده‌سازی معیوب popen هستند که در آن‌ها خروجی به جای لوله به کنسول فرستاده می‌شود). .IP \fB\-\-no\-use\-temp\-file\fR 4 .IX Item "--no-use-temp-file" برای خواندن خروجی پیش‌پردازنده از popen استفاده می‌کند، نه یک فایل موقت. این رفتار پیش‌فرض است. .IP \fB\-h\fR 4 .IX Item "-h" .PD 0 .IP \fB\-\-help\fR 4 .IX Item "--help" .PD خلاصه‌ای از نحوهٔ استفاده را چاپ می‌کند. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD شماره نسخهٔ \fBwindres\fR را چاپ می‌کند. .IP \fB\-\-yydebug\fR 4 .IX Item "--yydebug" اگر \fBwindres\fR به گونه‌ای کامپایل شده باشد که \f(CW\*(C`YYDEBUG\*(C'\fR با مقدار \f(CW1\fR تعریف شده باشد، این گزینه اشکال‌زدایی تجزیه‌کننده (parser debugging) را فعال می‌کند. .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" مدخل‌های Info برای \fIbinutils\fR. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright (c) 1991\-2026 Free Software Foundation, Inc. .PP مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط «مجوز مستندات آزاد گنو» (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ متأخرتر منتشرشده توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation) اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های جلد رویی، و بدون متن‌های جلد پشتی. یک کپی از این مجوز در بخش تحت عنوان «GNU Free Documentation License» گنجانده شده است.