O que é o formato de ficheiro D?
Arquivos .d contêm código-fonte escrito na linguagem de programação D, uma linguagem de nível de sistema projetada por Walter Bright na Digital Mars e lançada pela primeira vez em 2001. A linguagem D combina a sintaxe do tipo C com recursos de nível superior, incluindo coleta de lixo (garbage collection), testes unitários integrados, metaprogramação de templates, mixins, ranges e Sintaxe de Chamada de Função Uniforme (UFCS).
Os arquivos de origem D são texto simples em UTF-8. Um arquivo .d típico começa com uma declaração opcional de module, seguida por instruções import, e então declarações de funções, classes, structs, interfaces ou templates. A linguagem D suporta comentários de documentação inline usando a sintaxe /// (linha) ou / */ (bloco). Três compiladores visam arquivos .d: DMD (o compilador de referência), GDC (front-end do GCC) e LDC** (back-end do LLVM), todos implementando a especificação D2 atual mantida em dlang.org.
A D1 (a versão original) foi descontinuada por volta de 2010 e é incompatível em nível de código com a D2, que tem sido o padrão ativo desde então. Arquivos de interface com a extensão .di desempenham um papel análogo aos cabeçalhos C, contendo declarações sem corpos de implementação. Editores suportam arquivos .d via plugins - para o VS Code, a extensão code-d fornece realce de sintaxe, preenchimento de código e integração de compilação.
Segurança e proteção
RISCO: LOWCódigo-fonte em texto simples - não há conteúdo executável no arquivo .d em si; ele deve ser compilado para rodar. Seguro para abrir em qualquer editor de texto. Códigos-fonte D não confiáveis devem ser compilados e revisados antes da execução.
Detalhes do formato
em resumo- Arquivo de dependência de Makefile - O GNU make e compiladores (gcc -MD) geram arquivos de dependência .d listando dependências de cabeçalho; texto simples, sem relação com a linguagem D.
- Saída química do ChemDraw - Raramente, alguns formatos de exportação do ChemDraw usam .d; inteiramente não relacionado à linguagem de programação D.
- Fragmento de patch / diff - Algumas ferramentas de diff/patch usam .d para fragmentos de diff unificado em sistemas Unix.
Programas que abrem arquivos D
Detalhes técnicos
especificação profunda| Tipo de formato | Código-fonte em texto simples (UTF-8) |
| Codificação | UTF-8; BOM opcional; código-fonte não-UTF-8 aciona um erro de compilação |
| Tipo MIME | text/x-dsrc |
| Tamanho típico do arquivo | 500 B - 200 KB por módulo de origem |
| Declaração de módulo | Instrução opcional `module nome;` no topo do arquivo |
| Compiladores | DMD (referência/Digital Mars), GDC (front-end do GCC), LDC (back-end do LLVM) |
| Versões da linguagem | D1 (descontinuada ~2010) e D2 (atual); as duas são incompatíveis em nível de código |
| Testes unitários | Blocos `unittest` integrados, incorporáveis diretamente nos arquivos de origem |
| Comentários de documentação | Sintaxe DDoc `///` (linha) e `/** */` (bloco), processada pela flag DMD -D |
| Compilação condicional | Blocos `version()` e `debug` dentro do código-fonte |
| Plataforma | Windows, Linux, macOS, FreeBSD |
| Arquivo relacionado | .di (arquivo de interface D - apenas declarações, análogo a cabeçalhos C) |
| Biblioteca padrão | Phobos (importada via `import std.*`) |
| Lançado | 2001 (D 1.0 by Walter Bright / Digital Mars) |
| Versão mais recente | D 2.109.x (2026); D spec at dlang.org |
| Padrão aberto | Sim · livre de royalties |
| Especificação | dlang.org |
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos D.