Hva er D-filformatet?
.d-filer inneholder kildekode skrevet i programmeringsspråket D, et systemnivåspråk designet av Walter Bright hos Digital Mars og først utgitt i 2001. D kombinerer C-lignende syntaks med funksjoner på høyere nivå, inkludert søppeltømming (garbage collection), innebygd enhetstesting, mal-metaprogrammering (template metaprogramming), mixins, ranges og Uniform Function Call Syntax (UFCS).
D-kildekodefiler er ren UTF-8-tekst. En typisk .d-fil starter med en valgfri module-deklarasjon, etterfulgt av import-setninger, og deretter deklarasjoner for funksjoner, klasser, strukter, grensesnitt eller maler. D støtter innebygde dokumentasjonskommentarer ved bruk av /// (linje) eller / */ (blokk) syntaks. Tre kompilatorer støtter .d-filer: DMD (referansekompilatoren), GDC (GCC-frontend) og LDC** (LLVM-backend), som alle implementerer den gjeldende D2-spesifikasjonen vedlikeholdt på dlang.org.
D1 (den opprinnelige versjonen) ble faset ut rundt 2010 og er ikke kildekode-kompatibel med D2, som har vært den aktive standarden siden den gang. Grensesnittfiler med filendelsen .di har en rolle som tilsvarer C-headere, og inneholder deklarasjoner uten implementeringsdetaljer. Tekstredigerere støtter .d-filer via utvidelser - for VS Code gir utvidelsen code-d syntaksutheving, autofullføring og bygg-integrasjon.
Sikkerhet og trygghet
RISIKO: LOWKildekode i ren tekst - ingen kjørbart innhold i selve .d-filen; den må kompileres for å kjøre. Trygg å åpne i alle tekstredigerere. Ukjent D-kildekode må gjennomgås og kontrolleres før kompilering og kjøring.
Formatdetaljer
i et nøtteskall- Makefile-avhengighetsfil - GNU make og kompilatorer (gcc -MD) genererer .d-avhengighetsfiler som lister opp header-avhengigheter; ren tekst, ingen relasjon til språket D.
- ChemDraw kjemisk utdata - Sjelden bruker noen ChemDraw-eksportformater .d; helt urelatert til programmeringsspråket D.
- Patch / diff-fragment - Noen diff/patch-verktøy bruker .d for «unified diff»-fragmenter på Unix-systemer.
Programmer som åpner D-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | Kildekode i ren tekst (UTF-8) |
| Koding | UTF-8; BOM valgfritt; kildekode som ikke er UTF-8 utløser kompileringsfeil |
| MIME-type | text/x-dsrc |
| Typisk filstørrelse | 500 B - 200 KB per kildemodul |
| Moduldeklarasjon | Valgfri «module name;»-setning øverst i filen |
| Kompilatorer | DMD (referanse/Digital Mars), GDC (GCC-frontend), LDC (LLVM-backend) |
| Språkversjoner | D1 (faset ut ~2010) og D2 (gjeldende); de to er kildekode-inkompatible |
| Enhetstesting | Innebygde «unittest»-blokker som kan legges direkte i kildekodefilene |
| Dokumentasjonskommentarer | «///» (linje) og «/** */» (blokk) DDoc-syntaks, behandles av DMD -D-flagget |
| Betinget kompilering | «version()»- og «debug»-blokker i kildekoden |
| Plattform | Windows, Linux, macOS, FreeBSD |
| Relatert fil | .di (D-grensesnittfil - kun deklarasjoner, tilsvarende C-headere) |
| Standardbibliotek | Phobos (importeres via «import std.*») |
| Utgitt | 2001 (D 1.0 by Walter Bright / Digital Mars) |
| Siste versjon | D 2.109.x (2026); D spec at dlang.org |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | dlang.org |
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om D-filer.