.\" -*- 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-03 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 و همچنین فایل‌های شیء مشخص‌شده در خط فرمان بیایند. سپس این ورودی‌ها را پردازش کرده و اگر گزینهٔ \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 پیوند داده می‌شود و رابط میان 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 library) تولید می‌کند که می‌تواند به‌جای کتابخانهٔ واردات معمولی استفاده شود تا به برنامه امکان دهد تنها در زمانی که یک تابع وارداتی برای نخستین بار فراخوانی می‌شود به dll متصل گردد. فایل اجرایی حاصل باید به کتابخانهٔ ایستای delayimp حاوی _\|\fB_delayLoadHelper2()\fR پیوند داده شود، که آن نیز به‌نوبهٔ خود LoadLibraryA و GetProcAddress را از kernel32 وارد می‌کند. .PP دستور \fBdlltool\fR فایل کتابخانه را به‌صورت مستقیم می‌سازد، اما فایل صادرات را با ایجاد فایل‌های موقت حاوی دستورهای اسمبلی و سپس اسمبل کردن آن‌ها می‌سازد. گزینهٔ خط فرمان \fB\-S\fR می‌تواند برای تعیین مسیر اسمبلری که dlltool استفاده خواهد کرد به کار رود، و گزینهٔ \fB\-f\fR می‌تواند برای ارسال پرچم‌های خاص به آن اسمبلر استفاده شود. گزینهٔ \fB\-n\fR می‌تواند برای جلوگیری از حذف این فایل‌های اسمبلی موقت توسط dlltool پس از اتمام کار استفاده شود، و اگر \fB\-n\fR دو بار مشخص شود، مانع از حذف فایل‌های شیء موقتی می‌شود که dlltool برای ساخت کتابخانه به کار برده است. .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 نام یک فایل پایه (base file) را جهت خوانده شدن و پردازش مشخص می‌کند. محتویات این فایل به بخش تغییر مکان (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 نام فایل صادراتی را که قرار است توسط 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 استفاده نشده باشد نیز کار خواهد کرد. این گزینه تنها یک آرگومان می‌پذیرد، و اگر بیش از یک بار در خط فرمان تکرار شود، تکرارهای بعدی جایگزین موارد قبلی خواهند شد. بنابراین اگر ارسال چندین گزینه به اسمبلر ضروری باشد، باید آن‌ها را درون علامت نقل‌قول جفتی (double quotes) قرار داد. .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 نامی را که باید در فایل \fI.def\fR به عنوان نام DLL در زمان استفاده از گزینهٔ \fB\-e\fR ذخیره شود، مشخص می‌کند. اگر این گزینه ارائه نشود، نام فایل داده‌شده به گزینهٔ \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" مشخص می‌کند هنگامی که \fBdlltool\fR در حال ایجاد فایل‌های صادرات (exports) و کتابخانه است، یک عنصر صفر را پیشوند \f(CW\*(C`.idata4\*(C'\fR و \f(CW\*(C`.idata5\*(C'\fR کند. این کار رفتار قدیمی تولید کتابخانه واردات 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 باید اشیاء (objects) موجود در فایل کتابخانه و فایل صادرات تولیدشده را به عنوان پشتیبانی‌کننده از کارکرد متقابل (interworking) بین کدهای ARM و Thumb علامت‌گذاری کند. .IP \fB\-n\fR 4 .IX Item "-n" .PD 0 .IP \fB\-\-nodelete\fR 4 .IX Item "--nodelete" .PD باعث می‌شود \fBdlltool\fR فایل‌های اسمبلی موقتی را که برای ایجاد فایل صادرات استفاده کرده است نگه دارد. اگر این گزینه تکرار شود، dlltool فایل‌های شیء موقتی را که برای ایجاد فایل کتابخانه استفاده می‌کند نیز حفظ خواهد کرد. .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) از یکدیگر جدا می‌شوند. یک نویسهٔ فاصله می‌تواند با احاطه کردن کل گزینه در نقل‌قول تکی یا جفتی در آن گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با قرار دادن یک بک‌اسلش در ابتدای آن درج شود. خود \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 یا هر نسخه بالاتر منتشرشده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. یک نسخه از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.