D ファイル形式とは?
.d ファイルには、Digital Mars の Walter Bright によって設計され、2001年に初めてリリースされたシステムレベルの言語である D プログラミング言語 で書かれたソースコードが含まれています。D は C 言語に近い構文と、ガベージコレクション、組み込みユニットテスト、テンプレートメタプログラミング、ミックスイン、レンジ、統一関数呼び出し構文(UFCS)などの高度な機能を組み合わせています。
D ソースファイルはプレーンな UTF-8 テキストです。一般的な .d ファイルは、オプションの module 宣言で始まり、その後に import 文、そして関数、クラス、構造体、インターフェース、またはテンプレートの宣言が続きます。D は、///(行)または / */(ブロック)構文を使用したインラインドキュメントコメントをサポートしています。.d ファイルを対象とするコンパイラは 3 つあります。DMD(リファレンスコンパイラ)、GDC(GCC フロントエンド)、LDC**(LLVM バックエンド)であり、これらすべてが dlang.org で管理されている現在の D2 仕様を実装しています。
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 ツールは、Unix システム上のユニファイド diff フラグメントに .d を使用します。
D ファイルを開くプログラム
技術的詳細
詳細仕様| フォーマットタイプ | プレーンテキストソースコード (UTF-8) |
| エンコーディング | UTF-8。BOM は任意。UTF-8 以外のソースはコンパイルエラーを引き起こします |
| MIME タイプ | text/x-dsrc |
| 一般的なファイルサイズ | ソースモジュールあたり 500 B - 200 KB |
| モジュール宣言 | ファイル先頭のオプションの `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 |
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。D ファイルについて最初の質問をしてみましょう。