Che cos'è il formato di file D?
I file .d contengono codice sorgente scritto nel linguaggio di programmazione D, un linguaggio a livello di sistema progettato da Walter Bright presso Digital Mars e rilasciato per la prima volta nel 2001. Il D combina una sintassi simile al C con funzionalità di alto livello tra cui garbage collection, unit testing integrato, metaprogrammazione di template, mixin, range e la Uniform Function Call Syntax (UFCS).
I file sorgente D sono testo semplice in UTF-8. Un tipico file .d inizia con una dichiarazione opzionale module, seguita da istruzioni import, quindi dichiarazioni di funzioni, classi, struct, interfacce o template. Il D supporta commenti di documentazione inline utilizzando la sintassi /// (riga) o / */ (blocco). Tre compilatori gestiscono i file .d: DMD (il compilatore di riferimento), GDC (front-end GCC) e LDC** (back-end LLVM), tutti implementano l'attuale specifica D2 mantenuta su dlang.org.
Il D1 (la versione originale) è stato deprecato intorno al 2010 ed è incompatibile a livello di sorgente con il D2, che da allora è lo standard attivo. I file di interfaccia con l'estensione .di svolgono un ruolo analogo agli header C, contenendo dichiarazioni senza corpi di implementazione. Gli editor supportano i file .d tramite plugin - per VS Code l'estensione code-d fornisce evidenziazione della sintassi, completamento e integrazione della build.
Sicurezza e incolumità
RISCHIO: LOWCodice sorgente in testo semplice - nessun contenuto eseguibile nel file .d stesso; deve essere compilato per essere eseguito. Sicuro da aprire in qualsiasi editor di testo. Il codice sorgente D non attendibile deve essere compilato e revisionato prima dell'esecuzione.
Dettagli del formato
in sintesi- File di dipendenza Makefile - GNU make e i compilatori (gcc -MD) generano file di dipendenza .d che elencano le dipendenze degli header; testo semplice, nessuna relazione con il linguaggio D.
- Output chimico ChemDraw - Raramente, alcuni formati di esportazione ChemDraw utilizzano .d; del tutto estraneo al linguaggio di programmazione D.
- Frammento patch / diff - Alcuni strumenti diff/patch utilizzano .d per frammenti di diff unificati su sistemi Unix.
Programmi che aprono file D
Dettagli tecnici
specifiche approfondite| Tipo di formato | Codice sorgente in testo semplice (UTF-8) |
| Codifica | UTF-8; BOM opzionale; i sorgenti non UTF-8 causano un errore di compilazione |
| Tipo MIME | text/x-dsrc |
| Dimensione tipica del file | 500 B - 200 KB per modulo sorgente |
| Dichiarazione del modulo | Istruzione opzionale `module name;` all'inizio del file |
| Compilatori | DMD (riferimento/Digital Mars), GDC (front-end GCC), LDC (back-end LLVM) |
| Versioni del linguaggio | D1 (deprecato ~2010) e D2 (attuale); i due sono incompatibili a livello di sorgente |
| Unit testing | Blocchi `unittest` integrati inseribili direttamente nei file sorgente |
| Commenti di documentazione | Sintassi DDoc `///` (riga) e `/** */` (blocco), elaborata dal flag DMD -D |
| Compilazione condizionale | Blocchi `version()` e `debug` all'interno del sorgente |
| Piattaforma | Windows, Linux, macOS, FreeBSD |
| File correlato | .di (file di interfaccia D - solo dichiarazioni, analogo agli header C) |
| Libreria standard | Phobos (importata tramite `import std.*`) |
| Rilasciato | 2001 (D 1.0 by Walter Bright / Digital Mars) |
| Ultima versione | D 2.109.x (2026); D spec at dlang.org |
| Standard aperto | Sì · royalty-free |
| Specifica | dlang.org |
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file D.