.\" -*- 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 صادر می‌شوند، DLL کدام توابع را وارد می‌کند و مواردی از این دست\. این یک فایل متنی است و می‌تواند به صورت دستی ایجاد شود، یا می‌توان از \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 فایل کتابخانه را به طور مستقیم می‌سازد، اما فایل صادرات را با ایجاد فایل‌های موقت حاوی دستورهای اسمبلی و سپس سرهم‌بندی (assemble) آن‌ها می‌سازد\. گزینه خط فرمان \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) را برای خواندن و پردازش مشخص می‌کند\. محتوای این فایل به بخش بازمکانی در فایل صادرات تولیدشده توسط 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 نام فایل کتابخانه واردات با تأخیر را که قرار است توسط 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" با همه نمادهای تعریف‌شده سراسری و ضعیف یافت‌شده در فایل‌های شیء ورودی به عنوان نمادهای صادرشونده رفتار می‌کند\. فهرست کوچکی از نمادها وجود دارد که به طور پیش‌فرض صادر نمی‌شوند؛ گزینه \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 را صادر نمی‌کند\. این آرگومان فهرستی از نام‌های نماد است که با کاما یا دونقطه از هم جدا شده‌اند\. نام‌های نماد نباید حاوی خط تیره زیرین (underscore) پیشین باشند\. این گزینه تنها زمانی معنادار است که از \&\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" مشخص می‌کند که وقتی \fBdlltool\fR در حال ایجاد فایل‌های صادرات و کتابخانه است، باید یک عنصر صفر در ابتدای \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 باید اشیاء موجود در فایل کتابخانه و فایل صادراتی را که تولید می‌کند، به عنوان پشتیبانی‌کننده از کارکرد متقابل (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 با نویسه‌های فاصله خالی از هم جدا می‌شوند\. نویسه فاصله خالی می‌تواند با احاطه کل گزینه در گیومه تکی یا دوتایی در یک گزینه گنجانده شود\. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با پیشوند کردن نویسه مورد نظر با بک‌اسلش گنجانده شود\. فایل \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» گنجانده شده است.