Что такое формат файла D?
Файлы .d содержат исходный код, написанный на языке программирования D, языке системного уровня, разработанном Уолтером Брайтом в Digital Mars и впервые выпущенном в 2001 году. D сочетает в себе C-подобный синтаксис с высокоуровневыми функциями, включая сборку мусора, встроенное модульное тестирование, шаблонное метапрограммирование, миксины, диапазоны и синтаксис вызова унифицированных функций (UFCS).
Исходные файлы D представляют собой обычный текст в кодировке UTF-8. Типичный файл .d начинается с необязательного объявления module, за которым следуют операторы import, а затем объявления функций, классов, структур, интерфейсов или шаблонов. D поддерживает встроенные комментарии к документации, используя синтаксис /// (строчный) или / */ (блочный). Три компилятора работают с файлами .d: DMD (эталонный компилятор), GDC (фронтенд GCC) и LDC** (бэкенд LLVM), все они реализуют текущую спецификацию D2, поддерживаемую на dlang.org.
D1 (оригинальная версия) была признана устаревшей примерно в 2010 году и несовместима по исходному коду с D2, который с тех пор является активным стандартом. Файлы интерфейса с расширением .di выполняют роль, аналогичную заголовкам C, и содержат объявления без тел реализации. Редакторы поддерживают файлы .d через плагины - для VS Code расширение code-d обеспечивает подсветку синтаксиса, автодополнение и интеграцию сборки.
Безопасность и защита
РИСК: LOWИсходный код в виде простого текста - сам файл .d не содержит исполняемого контента; для запуска его необходимо скомпилировать. Безопасно открывать в любом текстовом редакторе. Непроверенный исходный код D должен быть изучен перед компиляцией и выполнением.
Детали формата
в двух словах- Файл зависимостей Makefile - GNU make и компиляторы (gcc -MD) генерируют файлы зависимостей .d, перечисляющие зависимости заголовков; обычный текст, не имеющий отношения к языку D.
- Химический вывод ChemDraw - В редких случаях некоторые форматы экспорта ChemDraw используют .d; совершенно не связано с языком программирования D.
- Фрагмент патча / diff - Некоторые инструменты diff/patch используют .d для фрагментов унифицированных различий в системах Unix.
Программы, открывающие файлы D
Технические подробности
глубокая спецификация| Тип формата | Исходный код в виде простого текста (UTF-8) |
| Кодировка | UTF-8; BOM необязателен; исходный код не в UTF-8 вызывает ошибку компиляции |
| MIME-тип | text/x-dsrc |
| Типичный размер файла | 500 Б - 200 КБ на модуль исходного кода |
| Объявление модуля | Необязательный оператор `module name;` в начале файла |
| Компиляторы | DMD (эталонный/Digital Mars), GDC (фронтенд GCC), LDC (бэкенд LLVM) |
| Версии языка | D1 (устарела ок. 2010 г.) и D2 (текущая); они несовместимы по исходному коду |
| Модульное тестирование | Встроенные блоки `unittest`, встраиваемые непосредственно в исходные файлы |
| Комментарии к документации | Синтаксис DDoc `///` (строка) и `/** */` (блок), обрабатываемый флагом DMD -D |
| Условная компиляция | Блоки `version()` и `debug` внутри исходного кода |
| Платформа | Windows, Linux, macOS, FreeBSD |
| Связанный файл | .di (интерфейсный файл D - только объявления, аналогично заголовкам C) |
| Стандартная библиотека | Phobos (импортируется через `import std.*`) |
| Выпущен | 2001 (D 1.0 by Walter Bright / Digital Mars) |
| Последняя версия | D 2.109.x (2026); D spec at dlang.org |
| Открыть стандартное | Да · без роялти |
| Спецификация | dlang.org |
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах D.