Wat is het D-bestandsformaat?
.d-bestanden bevatten broncode geschreven in de programmeertaal D, een taal op systeemniveau ontworpen door Walter Bright bij Digital Mars en voor het eerst uitgebracht in 2001. D combineert C-achtige syntaxis met functies van een hoger niveau, waaronder garbage collection, ingebouwde unit-tests, template-metaprogrammering, mixins, ranges en Uniform Function Call Syntax (UFCS).
D-bronbestanden zijn platte UTF-8-tekst. Een typisch .d-bestand begint met een optionele module-declaratie, gevolgd door import-statements, en vervolgens declaraties voor functies, klassen, structs, interfaces of templates. D ondersteunt inline documentatiecommentaar met de syntaxis /// (regel) of / */ (blok). Drie compilers richten zich op .d-bestanden: DMD (de referentiecompiler), GDC (GCC front-end) en LDC** (LLVM back-end), die allemaal de huidige D2-specificatie implementeren die wordt onderhouden op dlang.org.
D1 (de oorspronkelijke versie) werd rond 2010 beëindigd en is broncode-incompatibel met D2, dat sindsdien de actieve standaard is. Interfacebestanden met de extensie .di vervullen een rol die analoog is aan C-headers en bevatten declaraties zonder implementatie-body's. Editors ondersteunen .d-bestanden via plug-ins - voor VS Code biedt de code-d-extensie syntaxisaccentuering, voltooiing en build-integratie.
Beveiliging & veiligheid
RISICO: LOWPlatte tekst broncode - geen uitvoerbare inhoud in het .d-bestand zelf; het moet worden gecompileerd om te draaien. Veilig te openen in elke teksteditor. Niet-vertrouwde D-broncode moet vóór uitvoering worden gecompileerd en gecontroleerd.
Formaatdetails
in een notendop- Makefile-afhankelijkheidsbestand - GNU make en compilers (gcc -MD) genereren .d-afhankelijkheidsbestanden die header-afhankelijkheden vermelden; platte tekst, geen relatie met de taal D.
- ChemDraw chemische uitvoer - Zelden gebruiken sommige ChemDraw-exportformaten .d; geheel ongerelateerd aan de programmeertaal D.
- Patch / diff-fragment - Sommige diff/patch-tools gebruiken .d voor unified diff-fragmenten op Unix-systemen.
Programma's die D-bestanden openen
Technische details
diepe specificaties| Formaattype | Platte tekst broncode (UTF-8) |
| Codering | UTF-8; BOM optioneel; niet-UTF-8 broncode veroorzaakt een compileerfout |
| MIME-type | text/x-dsrc |
| Typische bestandsgrootte | 500 B - 200 KB per bronmodule |
| Module-declaratie | Optionele `module name;` verklaring bovenaan het bestand |
| Compilers | DMD (referentie/Digital Mars), GDC (GCC front-end), LDC (LLVM back-end) |
| Taalversies | D1 (verouderd ~2010) en D2 (huidig); de twee zijn broncode-incompatibel |
| Unit-testing | Ingebouwde `unittest`-blokken die direct in bronbestanden kunnen worden ingebed |
| Documentatiecommentaar | `///` (regel) en `/** */` (blok) DDoc-syntaxis, verwerkt door de DMD -D vlag |
| Conditionele compilatie | `version()` en `debug` blokken binnen de broncode |
| Platform | Windows, Linux, macOS, FreeBSD |
| Gerelateerd bestand | .di (D-interfacebestand - alleen declaraties, analoog aan C-headers) |
| Standaardbibliotheek | Phobos (geïmporteerd via `import std.*`) |
| Uitgebracht | 2001 (D 1.0 by Walter Bright / Digital Mars) |
| Laatste versie | D 2.109.x (2026); D spec at dlang.org |
| Open standaard | Ja · royaltyvrij |
| Specificatie | dlang.org |
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over D-bestanden.