DMD(1) The D Language Foundation DMD(1) نام (NAME) dmd - کامپایلر زبان دی ۲ (Digital Mars D2.x) خلاصه دستور (SYNOPSIS) dmd [فایل‌ها...] [گزینه‌ها...] توضیحات (DESCRIPTION) dmd کدهای منبع نوشته‌شده به زبان برنامه‌نویسی دی (D) را کامپایل می‌کند. گزینه‌ها (OPTIONS) file, file.d, file.htm, file.html فایل‌های منبع D برای کامپایل file.di فایل‌های رابط D (فایل‌های هدر D) file.o فایل‌های شیء (Object) برای پیوند دادن file.a فایل‌های کتابخانه برای پیوند دادن @cmdfile فایلی برای خواندن آرگومان‌های خط فرمان بیشتر از آن، که می‌تواند شامل کامنت‌های تک‌خطی با # باشد -allinst تولید کد برای تمام نمونه‌سازی‌های قالب (Template Instantiations) -betterC عدم تولید برخی از اطلاعات زمان اجرا (Runtime) و توابع کمکی -boundscheck=[on|safeonly|off] بررسی محدوده آرایه‌ها: فعال (on)، فقط در توابع @safe (safeonly)، یا غیرفعال (off) -c فقط کامپایل، بدون پیوند دادن (Link) -check=[assert|bounds|in|invariant|out|switch][=[on|off]] فعال یا غیرفعال کردن بررسی‌های خاص -check=[h|help|?] نمایش اطلاعات درباره تمام بررسی‌های موجود -checkaction=[D|C|halt|context] رفتار در صورت شکست assert/boundscheck/finalswitch -checkaction=[h|help|?] نمایش اطلاعات درباره تمام اقدامات بررسی موجود -color روشن کردن خروجی رنگی ترمینال -color=[on|off|auto] اجبار به روشن یا خاموش بودن خروجی رنگی، یا فقط زمانی که خروجی تغییر مسیر نیافته است (پیش‌فرض) -conf=filename استفاده از فایل پیکربندی در filename -cov بررسی پوشش کد (Code Coverage) و تولید فایل `.lst` -cov=ctfe گنجاندن کدهای اجرا شده در طول CTFE در گزارش پوشش کد -cov=nnn الزام حداقل nnn% پوشش کد -cpp=filename استفاده از filename به عنوان نام پیش‌پردازنده C برای فایل‌های ImportC -D تولید مستندات -Dddirectory نوشتن فایل مستندات در directory -Dffilename نوشتن فایل مستندات در filename -d اجازه دادن به ویژگی‌ها و نمادهای منسوخ‌شده (Deprecated) بدون نمایش پیام -de صدور خطا هنگام استفاده از ویژگی‌ها یا نمادهای منسوخ‌شده (توقف کامپایل) -dw صدور پیام هشدار هنگام استفاده از ویژگی‌ها یا نمادهای منسوخ‌شده (پیش‌فرض) -debug کامپایل کدهای دیباگ -debug=ident کامپایل کدهای دیباگ مشخص‌شده با شناسه ident -debuglib=libname تنظیم کتابخانه دیباگ نمادین روی libname -defaultlib=libname تنظیم کتابخانه پیش‌فرض روی libname -deps چاپ وابستگی‌های ماژول (imports/file/version/debug/lib) -deps=filename نوشتن وابستگی‌های ماژول در filename (فقط importها) -dllimport=[none|defaultLibsOnly|externalOnly|all] مخصوص ویندوز: انتخاب نمادها برای dllimport -edition[=NNNN[filename]] تنظیم ویرایش زبان به سال NNNN، اعمال روی filename -extern-std=standard تنظیم سازگاری مَنگلینگ نام ++C با استاندارد standard -extern-std=[h|help|?] فهرست کردن تمام استانداردهای پشتیبانی‌شده -fIBT تولید کد ردیابی شاخه غیرمستقیم (Indirect Branch Tracking) -fPIC تولید کد مستقل از موقعیت (Position Independent Code) -fPIE تولید فایل‌های اجرایی مستقل از موقعیت (Position Independent Executables) -ftime-trace فعال کردن پروفایلر زمان کامپایل، تولید فایل JSON حاوی نتایج -ftime-trace-granularity=μsecs حداقل دقت زمانی (به میکروثانیه) ردیابی‌شده توسط پروفایلر زمان (پیش‌فرض: 500) -ftime-trace-file=filename مشخص کردن فایل خروجی برای `-ftime-trace` -g افزودن اطلاعات دیباگ نمادین -gdwarf=version افزودن اطلاعات دیباگ نمادین DWARF (پیش‌فرض: 3) -gf تولید اطلاعات دیباگ برای تمام انواع ارجاع‌داده‌شده -gs همیشه فریم پشته (Stack Frame) تولید شود -gx افزودن کد محافظتی پشته (Stack Stomp) -H تولید فایل هدر D -Hd=directory نوشتن فایل هدر در directory -Hf=filename نوشتن فایل هدر در filename -HC=[silent|verbose] نوشتن معادل هدر ++C در خروجی استاندارد (stdout) -HC=[?|h|help] فهرست کردن گزینه‌های موجود برای تولید فایل هدر ++C -HCd=directory نوشتن فایل هدر ++C در directory -HCf=filename نوشتن فایل هدر ++C در filename به جای stdout --help چاپ راهنما و خروج -I=directory جستجوی ماژول‌های وارداتی (import) در directory -extI=directory جستجوی فایل‌های وارداتی خارج از باینری در حال کامپایل، جهت تنظیم ماژول به عنوان DllImport -i[=pattern] گنجاندن ماژول‌های وارداتی (import) در کامپایل -identifiers=[UAX31|c99|c11|all] مشخص کردن جدول‌های غیر اسکی (non-ASCII) برای شناسه‌های D -identifiers-importc=[UAX31|c99|c11|all] مشخص کردن جدول‌های غیر اسکی برای شناسه‌های ImportC -ignore گزینه منسوخ‌شده؛ پراگماهای پشتیبانی‌نشده اکنون همیشه نادیده گرفته می‌شوند -inline درون‌خطی‌سازی توابع (Inlining) -J=directory جستجوی فایل‌های وارداتی متنی (String Imports) در directory -L=linkerflag ارسال linkerflag به پیونددهنده (Linker) -lib تولید فایل کتابخانه به جای فایل‌های شیء (Object) -lowmem فعال‌سازی زباله‌روب (Garbage Collector) برای خود کامپایلر -m32 تولید کد ۳۲ بیتی -m64 تولید کد ۶۴ بیتی -main افزودن تابع پیش‌فرض ()main در صورت عدم وجود (مثلاً برای تست واحد) -makedeps[=filename] چاپ وابستگی‌ها در قالب سازگار با Makefile در filename یا stdout -man باز کردن صفحه راهنما در مرورگر وب -map تولید فایل .map پیونددهنده -mcpu=[baseline|avx|native] تنظیم معماری هدف برای تولید کد -mcpu=[h|help|?] فهرست کردن تمام گزینه‌های معماری -mixin=filename گسترش و ذخیره mixinها در فایل مشخص‌شده توسط filename -mv=package.module=filespec استفاده از filespec به عنوان فایل منبع برای package.module -noboundscheck عدم بررسی محدوده آرایه‌ها (منسوخ‌شده، از `-boundscheck=off` استفاده کنید) -nothrow فرض اینکه هیچ استثنایی (Exception) پرتاب نخواهد شد -nothrow-optimizations اجازه به نادیده گرفتن تخریب‌کننده‌ها (Destructors) هنگام بازپیچش پشته ناشی از Error در توابع nothrow -O بهینه‌سازی کد -o- عدم نوشتن فایل شیء (Object) -od=directory نوشتن فایل‌های شیء و کتابخانه در directory -of=filename نام‌گذاری فایل خروجی به filename -op حفظ مسیر منبع برای فایل‌های خروجی -oq نوشتن فایل‌های شیء با نام‌های کاملاً واجد شرایط (Fully Qualified) -os=os تنظیم سیستم‌عامل هدف روی os -P=preprocessorflag ارسال preprocessorflag به پیش‌پردازنده C -preview=name فعال‌سازی ویژگی زبانی آینده مشخص‌شده با name -preview=[h|help|?] فهرست کردن تمام ویژگی‌های زبانی آینده -profile پروفایل کردن کارایی زمان اجرای کد تولیدشده -profile=gc پروفایل کردن تخصیص‌های حافظه زمان اجرا -release عدم صدور قراردادها (Contracts) و assertها، و اجرای بررسی محدوده آرایه‌ها فقط در توابع @safe -revert=name بازگردانی تغییر زبانی مشخص‌شده با name -revert=[h|help|?] فهرست کردن تمام تغییرات زبانی قابل بازگردانی -run کامپایل، پیوند و اجرای برنامه srcfile -shared تولید کتابخانه مشترک (Shared Library / DLL) -target=triple استفاده از triple به عنوان arch-[vendor-]os[-cenv[- همچنین ببینید (SEE ALSO) dmd.conf(5) rdmd(1) dumpobj(1) obj2asm(1) gcc(1) The D Language Foundation 2026-08-30 DMD(1)