.\" -*- 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 "DLLTOOL 1" .TH DLLTOOL 1 2026-08-31 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)" dlltool \- ایجاد فایل‌های مورد نیاز برای ساخت و استفاده از DLLها .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef\-file\-name\fR] [\fB\-b\fR|\fB\-\-base\-file\fR \fIbase\-file\-name\fR] [\fB\-e\fR|\fB\-\-output\-exp\fR \fIexports\-file\-name\fR] [\fB\-z\fR|\fB\-\-output\-def\fR \fIdef\-file\-name\fR] [\fB\-l\fR|\fB\-\-output\-lib\fR \fIlibrary\-file\-name\fR] [\fB\-y\fR|\fB\-\-output\-delaylib\fR \fIlibrary\-file\-name\fR] [\fB\-\-export\-all\-symbols\fR] [\fB\-\-no\-export\-all\-symbols\fR] [\fB\-\-exclude\-symbols\fR \fIlist\fR] [\fB\-\-no\-default\-excludes\fR] [\fB\-S\fR|\fB\-\-as\fR \fIpath\-to\-assembler\fR] [\fB\-f\fR|\fB\-\-as\-flags\fR \fIoptions\fR] [\fB\-D\fR|\fB\-\-dllname\fR \fIname\fR] [\fB\-m\fR|\fB\-\-machine\fR \fImachine\fR] [\fB\-a\fR|\fB\-\-add\-indirect\fR] [\fB\-U\fR|\fB\-\-add\-underscore\fR] [\fB\-\-add\-stdcall\-underscore\fR] [\fB\-k\fR|\fB\-\-kill\-at\fR] [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\fR] [\fB\-p\fR|\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR] [\fB\-x\fR|\fB\-\-no\-idata4\fR] [\fB\-c\fR|\fB\-\-no\-idata5\fR] [\fB\-\-use\-nul\-prefixed\-import\-tables\fR] [\fB\-I\fR|\fB\-\-identify\fR \fIlibrary\-file\-name\fR] [\fB\-\-identify\-strict\fR] [\fB\-i\fR|\fB\-\-interwork\fR] [\fB\-n\fR|\fB\-\-nodelete\fR] [\fB\-t\fR|\fB\-\-temp\-prefix\fR \fIprefix\fR] [\fB\-v\fR|\fB\-\-verbose\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fB\-\-no\-leading\-underscore\fR] [\fB\-\-leading\-underscore\fR] [\fB\-\-deterministic\-libraries\fR] [\fB\-\-non\-deterministic\-libraries\fR] [object\-file ...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" \&\fBdlltool\fR ورودی‌های خود را می‌خواند، که می‌تواند از گزینه‌های \fB\-d\fR و \&\fB\-b\fR و همچنین فایل‌های شیء (object files) مشخص‌شده در خط فرمان تأمین شود. سپس این ورودی‌ها را پردازش کرده و چنانچه گزینهٔ \fB\-e\fR مشخص شده باشد، یک فایل صادرات (exports file) ایجاد می‌کند. اگر گزینهٔ \fB\-l\fR مشخص شده باشد، یک فایل کتابخانه و اگر گزینهٔ \fB\-z\fR مشخص شده باشد، یک فایل def ایجاد می‌کند. هر یک یا همهٔ گزینه‌های \fB\-e\fR، \&\fB\-l\fR و \fB\-z\fR می‌توانند در یک بار اجرای dlltool وجود داشته باشند. .PP هنگام ساخت یک DLL، علاوه بر کد منبعِ DLL، وجود سه فایل دیگر نیز ضروری است. \fBdlltool\fR می‌تواند در ایجاد این فایل‌ها کمک کند. .PP نخستین فایل، یک فایل \fI.def\fR است که مشخص می‌کند کدام توابع از DLL صادر (export) می‌شوند، DLL کدام توابع را وارد (import) می‌کند و مواردی از این دست. این یک فایل متنی است و می‌توان آن را به‌صورت دستی ایجاد کرد، یا اینکه می‌توان از \fBdlltool\fR با استفاده از گزینهٔ \fB\-z\fR برای ایجاد آن استفاده نمود. در این حالت، \fBdlltool\fR فایل‌های شیءِ مشخص‌شده در خط فرمان خود را برای یافتن توابعی که به‌طور ویژه برای صادر شدن علامت‌گذاری شده‌اند پویش کرده و مدخل‌هایی برای آن‌ها در فایل \fI.def\fR تولیدی قرار می‌دهد. .PP برای علامت‌گذاری یک تابع جهت صادر شدن از یک DLL، باید مدخلی به‌صورت \fB\-export:\fR در بخش \fB.drectve\fR فایل شیء وجود داشته باشد. در C می‌توان این کار را با استفاده از عملگر \&\fBasm()\fR انجام داد: .PP .Vb 2 \& asm (".section .drectve"); \& asm (".ascii \e"\-export:my_func\e""); \& \& int my_func (void) { ... } .Ve .PP دومین فایل مورد نیاز برای ساخت DLL، یک فایل صادرات (exports file) است. این فایل با فایل‌های شیء تشکیل‌دهندهٔ بدنهٔ DLL پیوند (link) داده می‌شود و واسط میان DLL و دنیای بیرون را مدیریت می‌کند. این یک فایل باینری است و می‌توان آن را با دادن گزینهٔ \fB\-e\fR به \&\fBdlltool\fR هنگام ایجاد یا خواندن یک فایل \fI.def\fR تولید کرد. .PP سومین فایل مورد نیاز برای ساخت DLL، فایل کتابخانه‌ای است که برنامه‌ها برای دسترسی به توابع موجود در DLL با آن پیوند می‌خورند (یک \`import library\*(Aq یا کتابخانهٔ واردات). این فایل را می‌توان با دادن گزینهٔ \fB\-l\fR به dlltool هنگام ایجاد یا خواندن یک فایل \fI.def\fR تولید کرد. .PP اگر گزینهٔ \fB\-y\fR مشخص شده باشد، dlltool یک کتابخانهٔ delay\-import (واردات با تأخیر) ایجاد می‌کند که می‌تواند به جای کتابخانهٔ واردات معمولی استفاده شود تا به برنامه اجازه دهد تنها زمانی که یک تابعِ واردشده برای نخستین بار فراخوانی می‌شود، به dll پیوند بخورد. فایل اجرایی حاصل باید به کتابخانهٔ ایستا (static) delayimp شامل _\|\fB_delayLoadHelper2()\fR پیوند داده شود، که آن نیز به نوبهٔ خود LoadLibraryA و GetProcAddress را از kernel32 وارد خواهد کرد. .PP \&\fBdlltool\fR فایل کتابخانه را به‌صورت مستقیم می‌سازد، اما فایل صادرات را با ایجاد فایل‌های موقت حاوی دستورهای اسمبلی و سپس اسمبل کردن آن‌ها ایجاد می‌کند. از گزینهٔ خط فرمان \fB\-S\fR می‌توان برای تعیین مسیر اسمبلری که dlltool استفاده خواهد کرد بهره برد، و گزینهٔ \fB\-f\fR می‌تواند برای ارسال پرچم‌های خاص به آن اسمبلر استفاده شود. گزینهٔ \fB\-n\fR می‌تواند مانع از حذف این فایل‌های موقت اسمبلی پس از پایان کار dlltool شود، و اگر \fB\-n\fR دو بار مشخص گردد، از حذف فایل‌های موقت شیء که برای ساخت کتابخانه استفاده شده‌اند نیز جلوگیری خواهد کرد. .PP در اینجا نمونه‌ای از ساخت یک DLL از یک فایل منبع \fBdll.c\fR و همچنین ساخت برنامه‌ای (از یک فایل شیء به نام \fBprogram.o\fR) که از آن DLL استفاده می‌کند آورده شده است: .PP .Vb 4 \& gcc \-c dll.c \& dlltool \-e exports.o \-l dll.lib dll.o \& gcc dll.o exports.o \-o dll.dll \& gcc program.o dll.lib \-o program .Ve .PP همچنین می‌توان از \&\fBdlltool\fR برای پرسمان از یک کتابخانهٔ واردات موجود جهت تعیین نام DLL مرتبط با آن استفاده کرد. توضیحات مربوط به گزینهٔ \fB\-I\fR یا \fB\-\-identify\fR را ببینید..SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" گزینه‌های خط فرمان معانی زیر را دارند: .IP "\fB\-d\fR \fIfilename\fR" 4 .IX Item "-d filename" .PD 0 .IP "\fB\-\-input\-def\fR \fIfilename\fR" 4 .IX Item "--input-def filename" .PD نام یک فایل \fI.def\fR را جهت خوانده شدن و پردازش مشخص می‌کند. .IP "\fB\-b\fR \fIfilename\fR" 4 .IX Item "-b filename" .PD 0 .IP "\fB\-\-base\-file\fR \fIfilename\fR" 4 .IX Item "--base-file filename" .PD نام یک فایل پایه را جهت خوانده شدن و پردازش مشخص می‌کند. محتویات این فایل به بخش بازآرایی (relocation section) در فایل صادرات تولیدشده توسط dlltool اضافه خواهد شد. .IP "\fB\-e\fR \fIfilename\fR" 4 .IX Item "-e filename" .PD 0 .IP "\fB\-\-output\-exp\fR \fIfilename\fR" 4 .IX Item "--output-exp filename" .PD نام فایل صادراتی (export file) که قرار است توسط dlltool ایجاد شود را مشخص می‌کند. .IP "\fB\-z\fR \fIfilename\fR" 4 .IX Item "-z filename" .PD 0 .IP "\fB\-\-output\-def\fR \fIfilename\fR" 4 .IX Item "--output-def filename" .PD نام فایل \fI.def\fR که قرار است توسط dlltool ایجاد شود را مشخص می‌کند. .IP "\fB\-l\fR \fIfilename\fR" 4 .IX Item "-l filename" .PD 0 .IP "\fB\-\-output\-lib\fR \fIfilename\fR" 4 .IX Item "--output-lib filename" .PD نام فایل کتابخانه‌ای که قرار است توسط dlltool ایجاد شود را مشخص می‌کند. .IP "\fB\-y\fR \fIfilename\fR" 4 .IX Item "-y filename" .PD 0 .IP "\fB\-\-output\-delaylib\fR \fIfilename\fR" 4 .IX Item "--output-delaylib filename" .PD نام فایل کتابخانه واردات با تأخیر (delay\-import library) که قرار است توسط dlltool ایجاد شود را مشخص می‌کند. .IP \fB\-\-deterministic\-libraries\fR 4 .IX Item "--deterministic-libraries" .PD 0 .IP \fB\-\-non\-deterministic\-libraries\fR 4 .IX Item "--non-deterministic-libraries" .PD هنگام ایجاد کتابخانه‌های خروجی در پاسخ به گزینه‌های \&\fB\-\-output\-lib\fR یا \fB\-\-output\-delaylib\fR، برای هر برچسب زمانی، شناسه‌های کاربری و شناسه‌های گروه ایجادشده مقدار صفر را به کار می‌برد (\fB\-\-deterministic\-libraries\fR) یا از برچسب‌های زمانی، شناسه‌های کاربری و شناسه‌های گروه واقعی استفاده می‌کند (\fB\-\-non\-deterministic\-libraries\fR). .IP \fB\-\-export\-all\-symbols\fR 4 .IX Item "--export-all-symbols" با تمام نمادهای سراسری (global) و ضعیف (weak) تعریف‌شده در فایل‌های شیء ورودی به عنوان نمادهایی که باید صادر شوند رفتار می‌کند. فهرست کوچکی از نمادها وجود دارد که به طور پیش‌فرض صادر نمی‌شوند؛ گزینه \fB\-\-no\-default\-excludes\fR را ببینید. می‌توانید با استفاده از گزینه \&\fB\-\-exclude\-symbols\fR نمادهایی را به فهرست عدم صادرات اضافه کنید. .IP \fB\-\-no\-export\-all\-symbols\fR 4 .IX Item "--no-export-all-symbols" تنها نمادهایی را صادر می‌کند که به طور صریح در یک فایل \fI.def\fR ورودی یا در بخش‌های \&\fB.drectve\fR در فایل‌های شیء ورودی فهرست شده‌اند. این رفتار پیش‌فرض است. بخش‌های \fB.drectve\fR توسط ویژگی‌های \fBdllexport\fR در کد منبع ایجاد می‌شوند. .IP "\fB\-\-exclude\-symbols\fR \fIlist\fR" 4 .IX Item "--exclude-symbols list" نمادهای موجود در \fIlist\fR را صادر نمی‌کند. این یک فهرست از نام‌های نمادها است که با نویسه‌های کاما یا دونقطه از هم جدا شده‌اند. نام نمادها نباید با یک خط زیرین آغازین همراه باشد. این گزینه تنها هنگامی که از \&\fB\-\-export\-all\-symbols\fR استفاده شود معنی دارد. .IP \fB\-\-no\-default\-excludes\fR 4 .IX Item "--no-default-excludes" هنگامی که \fB\-\-export\-all\-symbols\fR به کار می‌رود، به طور پیش‌فرض از صادرات برخی نمادهای خاص خودداری می‌کند. فهرست کنونی نمادهایی که از صادرات آن‌ها خودداری می‌شود شامل \fBDllMain@12\fR، \fBDllEntryPoint@0\fR و \&\fBimpure_ptr\fR است. می‌توانید از گزینه \fB\-\-no\-default\-excludes\fR برای صادرات این نمادهای خاص استفاده کنید. این گزینه تنها هنگامی که از \fB\-\-export\-all\-symbols\fR استفاده شود معنی دارد. .IP "\fB\-S\fR \fIpath\fR" 4 .IX Item "-S path" .PD 0 .IP "\fB\-\-as\fR \fIpath\fR" 4 .IX Item "--as path" .PD مسیر، شامل نام فایل اسمبلر مورد استفاده برای ایجاد فایل صادرات را مشخص می‌کند. .IP "\fB\-f\fR \fIoptions\fR" 4 .IX Item "-f options" .PD 0 .IP "\fB\-\-as\-flags\fR \fIoptions\fR" 4 .IX Item "--as-flags options" .PD گزینه‌های خاص خط فرمان را که هنگام ساخت فایل صادرات باید به اسمبلر ارسال شوند مشخص می‌کند. این گزینه حتی اگر از گزینه \fB\-S\fR استفاده نشود نیز کار خواهد کرد. این گزینه تنها یک آرگومان می‌پذیرد، و اگر بیش از یک بار در خط فرمان تکرار شود، موارد بعدی موارد قبلی را بازنویسی خواهند کرد. بنابراین در صورت نیاز به ارسال چندین گزینه به اسمبلر، آن‌ها باید درون گیومه دوتایی قرار گیرند. .IP "\fB\-D\fR \fIname\fR" 4 .IX Item "-D name" .PD 0 .IP "\fB\-\-dll\-name\fR \fIname\fR" 4 .IX Item "--dll-name name" .PD نامی را مشخص می‌کند که باید در هنگام استفاده از گزینه \fB\-e\fR، در فایل \fI.def\fR به عنوان نام DLL ذخیره شود. اگر این گزینه ارائه نشود، نام فایل داده‌شده به گزینه \fB\-e\fR به عنوان نام DLL استفاده خواهد شد. .IP "\fB\-m\fR \fImachine\fR" 4 .IX Item "-m machine" .PD 0 .IP "\fB\-machine\fR \fImachine\fR" 4 .IX Item "-machine machine" .PD نوع ماشینی که فایل کتابخانه باید برای آن ساخته شود را مشخص می‌کند. \fBdlltool\fR بسته به نحوه ایجاد شدنش، یک نوع پیش‌فرض درونی دارد، اما از این گزینه می‌توان برای بازنویسی آن استفاده کرد. این گزینه معمولاً تنها زمانی کاربرد دارد که DLLهایی برای پردازنده ARM ایجاد شوند، در حالی که محتوای DLL در واقع با دستورالعمل‌های Thumb کدگذاری شده است. .IP \fB\-a\fR 4 .IX Item "-a" .PD 0 .IP \fB\-\-add\-indirect\fR 4 .IX Item "--add-indirect" .PD مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل صادرات است، باید بخشی را اضافه کند که امکان ارجاع به توابع صادرشده را بدون استفاده از کتابخانه واردات فراهم می‌سازد؛ هر معنای لعنتی که می‌خواهد داشته باشد! .IP \fB\-U\fR 4 .IX Item "-U" .PD 0 .IP \fB\-\-add\-underscore\fR 4 .IX Item "--add-underscore" .PD مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل صادرات است، باید یک خط زیرین به ابتدای نام‌های \fIتمام\fR نمادهای صادرشده بیفزاید. .IP \fB\-\-no\-leading\-underscore\fR 4 .IX Item "--no-leading-underscore" .PD 0 .IP \fB\-\-leading\-underscore\fR 4 .IX Item "--leading-underscore" .PD مشخص می‌کند که آیا نماد استاندارد باید اجباراً پیشوند داشته باشد یا خیر. .IP \fB\-\-add\-stdcall\-underscore\fR 4 .IX Item "--add-stdcall-underscore" مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل صادرات است، باید یک خط زیرین به ابتدای نام‌های توابع صادرشده \fIstdcall\fR اضافه کند. نام متغیرها و نام توابع غیر stdcall تغییر نمی‌کنند. این گزینه هنگام ایجاد کتابخانه‌های واردات سازگار با GNU برای DLLهای شخص ثالثی که با ابزارهای MS\-Windows ساخته شده‌اند مفید است. .IP \fB\-k\fR 4 .IX Item "-k" .PD 0 .IP \fB\-\-kill\-at\fR 4 .IX Item "--kill-at" .PD مشخص می‌کند که پسوندهای \fB@\fR باید از نام‌های توابع stdcall که از DLL وارد می‌شوند حذف شوند. این گزینه هنگام ساخت کتابخانه واردات برای DLLهایی که توابع stdcall را صادر می‌کنند اما پسوند معمول نام نماد \fB@\fR را ندارند، مفید است. .Sp این گزینه نام‌گذاری نمادهای ارائه‌شده توسط کتابخانه واردات به برنامه‌های پیوندیافته به آن را تغییر نمی‌دهد، بلکه صرفاً مدخل‌های جدول واردات (یعنی بخش .idata) را تغییر می‌دهد. .IP \fB\-A\fR 4 .IX Item "-A" .PD 0 .IP \fB\-\-add\-stdcall\-alias\fR 4 .IX Item "--add-stdcall-alias" .PD مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل صادرات است، باید علاوه بر نمادهای دارای \fB@ \fR، نام‌های مستعار برای نمادهای stdcall بدون \fB@ \fR نیز اضافه کند. .IP \fB\-p\fR 4 .IX Item "-p" .PD 0 .IP "\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR" 4 .IX Item "--ext-prefix-alias prefix" .PD باعث می‌شود \fBdlltool\fR برای تمام واردات DLL نام‌های مستعار خارجی با پیشوند مشخص‌شده ایجاد کند. این نام‌های مستعار برای هر دو نمادهای خارجی و وارداتی بدون خط زیرین آغازین ایجاد می‌شوند. .IP \fB\-x\fR 4 .IX Item "-x" .PD 0 .IP \fB\-\-no\-idata4\fR 4 .IX Item "--no-idata4" .PD مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل‌های صادرات و کتابخانه است، بخش \f(CW\*(C`.idata4\*(C'\fR را حذف کند. این گزینه جهت سازگاری با برخی سیستم‌های عامل است..IP \fB\-\-use\-nul\-prefixed\-import\-tables\fR 4 .IX Item "--use-nul-prefixed-import-tables" مشخص می‌کند که هنگام ایجاد فایل‌های صادرات (exports) و کتابخانه توسط \fBdlltool\fR، یک عنصر صفر به ابتدای \f(CW\*(C`.idata4\*(C'\fR و \f(CW\*(C`.idata5\*(C'\fR اضافه شود. این کار روش قدیمی تولید کتابخانه واردات (import library) متعلق به gnu در \&\f(CW\*(C`dlltool\*(C'\fR را شبیه‌سازی می‌کند. به‌طور پیش‌فرض این گزینه غیرفعال است. .IP \fB\-c\fR 4 .IX Item "-c" .PD 0 .IP \fB\-\-no\-idata5\fR 4 .IX Item "--no-idata5" .PD مشخص می‌کند که هنگام ایجاد فایل‌های صادرات و کتابخانه توسط \fBdlltool\fR، بخش \f(CW\*(C`.idata5\*(C'\fR حذف شود. این گزینه جهت سازگاری با سیستم‌عامل‌های خاصی در نظر گرفته شده است. .IP "\fB\-I\fR \fIfilename\fR" 4 .IX Item "-I filename" .PD 0 .IP "\fB\-\-identify\fR \fIfilename\fR" 4 .IX Item "--identify filename" .PD مشخص می‌کند که \fBdlltool\fR باید کتابخانه واردات مشخص‌شده با \fIfilename\fR را بازرسی کند و نام DLL(های) مرتبط را در \f(CW\*(C`stdout\*(C'\fR گزارش دهد. این کار می‌تواند علاوه بر هر عملیات دیگری که توسط سایر گزینه‌ها و آرگومان‌ها مشخص شده است انجام شود. در صورتی که کتابخانه واردات وجود نداشته باشد یا در اصل یک کتابخانه واردات نباشد، \fBdlltool\fR با خطا متوقف می‌شود. همچنین \fB\-\-identify\-strict\fR را ببینید. .IP \fB\-\-identify\-strict\fR 4 .IX Item "--identify-strict" رفتار گزینه \fB\-\-identify\fR را اصلاح می‌کند، به‌گونه‌ای که اگر \fIfilename\fR با بیش از یک DLL مرتبط باشد، خطایی گزارش می‌شود. .IP \fB\-i\fR 4 .IX Item "-i" .PD 0 .IP \fB\-\-interwork\fR 4 .IX Item "--interwork" .PD مشخص می‌کند که \fBdlltool\fR باید اشیای درون فایل کتابخانه و فایل صادرات تولیدی خود را طوری علامت‌گذاری کند که از تعامل بین کدهای ARM و Thumb پشتیبانی کنند. .IP \fB\-n\fR 4 .IX Item "-n" .PD 0 .IP \fB\-\-nodelete\fR 4 .IX Item "--nodelete" .PD باعث می‌شود \fBdlltool\fR فایل‌های موقت اسمبلی مورد استفاده برای ایجاد فایل صادرات را حفظ کند. اگر این گزینه تکرار شود، dlltool فایل‌های موقت شیء (object) مورد استفاده برای ساخت فایل کتابخانه را نیز حفظ خواهد کرد. .IP "\fB\-t\fR \fIprefix\fR" 4 .IX Item "-t prefix" .PD 0 .IP "\fB\-\-temp\-prefix\fR \fIprefix\fR" 4 .IX Item "--temp-prefix prefix" .PD باعث می‌شود \fBdlltool\fR هنگام ایجاد نام فایل‌های موقت اسمبلی و شیء، از \fIprefix\fR استفاده کند. به‌طور پیش‌فرض، پیشوند فایل‌های موقت از روی pid تولید می‌شود. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD باعث می‌شود dlltool کارهایی را که انجام می‌دهد شرح دهد. .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 شماره نسخه dlltool را نمایش داده و سپس خارج می‌شود. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به‌جای گزینه اصلی @\fIfile\fR قرار می‌گیرند. اگر \fIfile\fR وجود نداشته باشد یا خوانده نشود، با گزینه به‌صورت لفظی برخورد شده و حذف نخواهد شد. .Sp گزینه‌ها در \fIfile\fR با فاصله خالی (whitespace) از یکدیگر جدا می‌شوند. یک نویسه فاصله خالی می‌تواند با قرار دادن کل گزینه درون گیومه تکی یا جفتی در آن گنجانده شود. هر نویسه‌ای (از جمله یک backslash) را می‌توان با افزودن یک backslash به‌عنوان پیشوند به آن نویسه درج کرد. خود \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)، نسخه 1.3 یا هر نسخه پسین منتشرشده توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation) داده می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد، و بدون متون پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان \(lqGNU Free Documentation License\(rq قرار گرفته است.