WINDRES(1) GNU Development Tools WINDRES(1)

windres - دستکاری و مدیریت منابع ویندوز

windres [گزینه‌ها] [input-file] [output-file]

دستور windres منابع را از یک پرونده ورودی خوانده و آن‌ها را در یک پرونده خروجی کپی می‌کند. هر یک از این پرونده‌ها می‌توانند در یکی از سه قالب زیر باشند:

"rc"
یک قالب متنی که توسط کامپایلر منابع (Resource Compiler) خوانده می‌شود.
"res"
یک قالب باینری تولیدشده توسط کامپایلر منابع.
"coff"
یک شیء یا فایل اجرایی COFF.

شرح دقیق این قالب‌های مختلف در مستندات مایکروسافت موجود است.

هنگامی که windres قالبی را از "rc" به "res" تبدیل می‌کند، همانند Resource Compiler ویندوز عمل می‌کند. زمانی که windres قالبی را از "res" به "coff" تبدیل می‌کند، شبیه به برنامه "CVTRES" ویندوز عمل می‌نماید.

هنگامی که windres یک پرونده "rc" تولید می‌کند، خروجی شبیه اما نه کاملاً یکسان با قالب مورد انتظار برای ورودی است. هنگامی که یک پرونده ورودی "rc" به یک نام پرونده خارجی ارجاع دهد، پرونده خروجی "rc" در عوض محتوای آن پرونده را شامل خواهد شد.

اگر قالب ورودی یا خروجی مشخص نشده باشد، windres بر اساس نام پرونده یا (برای پرونده ورودی) محتوای آن حدس می‌زند. پرونده‌ای با پسوند .rc به عنوان پرونده "rc" تلقی خواهد شد، پرونده‌ای با پسوند .res به عنوان "res" و پرونده‌ای با پسوند .o یا .exe به عنوان پرونده "coff" پردازش خواهد شد.

اگر پرونده خروجی مشخص نشود، windres منابع را با قالب "rc" در خروجی استاندارد چاپ می‌کند.

کاربرد معمول این است که یک پرونده "rc" بنویسید، از windres برای تبدیل آن به یک پرونده شیء COFF استفاده کنید، و سپس آن پرونده COFF را در برنامه خود پیوند دهید. این کار باعث می‌شود منابع تعریف‌شده در پرونده "rc" در ویندوز در دسترس قرار گیرند.

نام پرونده ورودی. اگر از این گزینه استفاده نشود، windres از اولین آرگومان غیرگزینه‌ای به عنوان نام پرونده ورودی استفاده خواهد کرد. در صورت نبود آرگومان، windres از ورودی استاندارد می‌خواند. دستور windres نمی‌تواند پرونده COFF را از ورودی استاندارد بخواند.
نام پرونده خروجی. اگر استفاده نشود، windres از اولین آرگومان غیرگزینه‌ای پس از ورودی به عنوان نام پرونده خروجی استفاده می‌کند. اگر آرگومانی نباشد، در خروجی استاندارد می‌نویسد. windres نمی‌تواند پرونده COFF را در خروجی استاندارد بنویسد. توجه داشته باشید برای سازگاری با rc گزینه -fo نیز پذیرفته می‌شود، اما استفاده از آن توصیه نمی‌شود.
قالب ورودی جهت خواندن. مقدار format می‌تواند res، rc یا coff باشد. اگر قالب ورودی تعیین نشود، windres طبق توضیحات بالا حدس می‌زند.
قالب خروجی جهت تولید. مقدار format می‌تواند res، rc یا coff باشد. در صورت عدم تعیین، windres آن را حدس می‌زند.
مشخص کردن قالب BFD مورد استفاده برای یک پرونده COFF به عنوان ورودی یا خروجی. این یک نام هدف BFD است؛ می‌توانید از گزینه --help برای مشاهده فهرست هدف‌های پشتیبانی‌شده استفاده کنید. معمولاً windres از قالب پیش‌فرض که اولین مورد فهرست‌شده در --help است استفاده می‌کند.
هنگامی که windres یک پرونده "rc" را می‌خواند، ابتدا آن را از پیش‌پردازنده C عبور می‌دهد. این گزینه برای تعیین پیش‌پردازنده استفاده می‌شود. پیش‌پردازنده پیش‌فرض "gcc" است.
تعیین متن اضافی جهت ارسال به خط فرمان پیش‌پردازنده هنگام خواندن پرونده "rc". این گزینه می‌تواند چندین بار تکرار شود. در صورت مشخص نشدن --preprocessor، مجموعه‌ای از آرگومان‌های پیش‌فرض استفاده خواهد شد ("-E"، "-xc-header" و "-DRC_INVOKED") و گزینه‌های --preprocessor-arg بعد از آن‌ها قرار می‌گیرند.
تعیین یک شاخه الحاقی (include) برای استفاده هنگام خواندن پرونده "rc". این شاخه به عنوان گزینه -I به پیش‌پردازنده داده می‌شود و هنگام جستجوی پرونده‌ها نیز بررسی خواهد شد.
تعیین گزینه -D برای ارسال به پیش‌پردازنده هنگام خواندن پرونده "rc".
تعیین گزینه -U برای ارسال به پیش‌پردازنده هنگام خواندن پرونده "rc".
جهت سازگاری با rc نادیده گرفته می‌شود.
فعال‌سازی حالت پرگویی (verbose). این گزینه در صورت عدم تعیین پیش‌پردازنده، نام آن را اعلام می‌کند.
تعیین کدپیج (codepage) پیش‌فرض برای خواندن پرونده "rc". مقدار val باید یک کد هگزادسیمال با پیشوند 0x یا عدد ده‌دهی باشد (محدوده مجاز از ۰ تا 0xffff).
تعیین زبان پیش‌فرض هنگام خواندن پرونده "rc". مقدار val باید کد زبان در قالب هگزادسیمال باشد (هشت بیت پایین زبان و هشت بیت بالا زیرزبان).
استفاده از یک پرونده موقت به جای popen برای خواندن خروجی پیش‌پردازنده. در صورتی که پیاده‌سازی popen روی میزبان دارای اشکال باشد از این گزینه استفاده کنید.
استفاده از popen و نه پرونده موقت برای خواندن خروجی پیش‌پردازنده (رفتار پیش‌فرض).
چاپ خلاصه راهنمای کاربرد.
چاپ شماره نگارش windres.
در صورت کامپایل شدن با تعریف "YYDEBUG"، اشکال‌زدایی تجزیه‌کننده را فعال می‌کند.
@file
خواندن گزینه‌های خط فرمان از file. گزینه‌ها به جای خود گزینه @file درج می‌شوند. پرونده می‌تواند شامل گزینه‌های @file بیشتر به صورت بازگشتی باشد.

مدخل‌های Info برای binutils.

حق نشر (c) 1991-2026 Free Software Foundation, Inc.

مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نگارش 1.3 یا هر نگارش بعدی منتشر شده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود.

2026-07-30 binutils-2.47