初出: 2007/01/13
最新: 2011/04/06
../表紙に戻る
現時点で、D のコンパイラは2つ存在します。
DMDのフロントエンド部のソースを使ってGDCが実装されるという形なので、 最新の変更はDMDの方に先に反映されることになります(数週間~数ヶ月差があることも)。
DMDは、D言語の設計者Walter Bright氏の実装したDコンパイラです。 以下からダウンロードできます。
インストール方法や使い方の詳細は↓この辺に。
また、コンパイラや標準ライブラリのソースコードは全てgithubで公開されています。
なお、現在 D 言語には D 1.x と D 2.x の二つの系統があります。1.x が安定版で、 2.x が新機能を続々追加する開発版です。違いや、どちらをダウンロードすべきかなど詳しくは 『D 2.x と D 1.x』 をご覧下さい。
例えば C:\DevTools\DLang というフォルダにインストールしたい場合…
元の内容;C:\DevTools\DLang\dmd\bin;C:\DevTools\DLang\dm\bin
IDE等幾つかのツールは、C:\dmd と C:\dm にインストールされている状態を デフォルト設定としています。ルートディレクトリにものを置くのが嫌いでなければ、 C:\dmd と C:\dm に入れるのが一番無難です。
(07/01/18追記) 半角スペースのあるフォルダにインストールされていると、 色々とうまく動かないそうです。なんとも残念な制限ですが、Program Files や Document and Settings の下に入れるのは避けた方が良いでしょう。
コマンドプロンプトやターミナルを開いて
dmd
と打ち込んだときに特にエラーが出なければインストール成功です。 あとは例えば、hello.d というソースをコンパイルしたければ
dmd hello.d
と打てばよいです。hello(.exe) という実行ファイルができます。 スクリプトっぽくいきなりソースを実行したい場合は
rdmd hello.d
です。
DMD のバージョンアップは、ダウンロードした dmd.zip を展開して上書きすればOKです。 でも、単に上書きすると設定ファイルwindows\bin\sc.iniなどまで初期状態で上書きしてしまうので、 設定変更している人はsc.iniだけは避けておくが吉です。
GDCは、GCCバックエンドを使ったDコンパイラです。 以下から入手できます。
また、FreeBSDのports には登録されているようです。cygwin では、 Devel>gcc-gdc に入っています。Linux系のパッケージは、動きはあるようですが今のところ 誰もちゃんと整備してないみたいです。野良rpmは上記gdcgnuのページにあります。 (※2007/09/05追記: 対応するディストリビューションもぼちぼち出てきた模様。 Debian, Ubuntu) MacOS だと macports にありました。
GDC を動かすには、あらかじめ MinGW をインストールしておく必要があります。MinGW Current か Candidate 向けのバイナリのみ 公開されているようなので、古い MinGW を使っている場合はアップデートが必要です。 MinGW は、ダウンロードページ からインストーラ(2007/01/26現在、MinGW-5.1.3.exeが最新)が入手できます。
gdcwin のインストール時には、MinGW のあるフォルダ("C:\MinGW" など)をインストール先として指定すると、 C:\MinGW\bin\gdc.exe 的な位置にgdcが入ります。
コマンドプロンプトやターミナルを開いて
gdc
と打ち込んだときに特にエラーが出なければインストール成功です。 あとは例えば、hello.d というソースをコンパイルしたければ
gdc hello.d
と打てばよいです。a.out か a.exe という名前の実行ファイルが生成されます。 GDCのコマンドラインの体系はGCC風になっています。 DMD互換のコマンドラインオプションを使いたい場合は、 gdc の代わりに gdmd コマンドを用います。(gdmdはPerlスクリプトなので、 使うにはPerlが要ります。Windowsの場合は ActivePerl など)。gdmd を使うには
gdmd hello.d
となります。hello(.exe) という実行ファイルができます。 また、gdmdが動く(Perlが入ってる)場合は、スクリプトっぽく いきなりソースを実行することができます。 DMDのzip書庫からdmd/bin/rdmdを引っこ抜いてきてPATHを通して
rdmd hello.d
です。
DSSS は D 2.x の最新版では使えない可能性が多々あります。 1.x と合わせて使う(DMDより先にDSSSを入れてdsss net install dmdとすると対応バージョンのDMDが 自動的にインストールされます)か、ダウンロードするDSSSが公開された時点のDMD 2.xコンパイラと 共に使うと安定します。
ビルドツール、いわば「D言語に特化したmake」としての側面と、 パッケージ管理ツール、つまり「D言語版CPAN, Gems, PEAR/PECL」としての側面を兼ね備えたツールです。 入れておいて損はないと思います。
ダウンロードはこちら
使っているOSとコンパイラ(DMDかGDCか)に合わせたバージョンをダウンロードしてください。 適当な場所に展開して、binフォルダにパスを通せばインストール完了です。
ビルドしたいプロジェクトのルートディレクトリで
dsss build
と打てばOKです。ただし、Windows用のGUIアプリを作りたいときは
dsss build -gui
になります。依存関係のチェックはDSSSが自動で行うので、Makefile的 なものを別途用意する必要はありません。
ファイル1個だけビルドしたいときは、例えば hoge.d をビルドしたいときは
dsss build hoge.d
こんな感じでファイル名を指定します。その他細かい使い方は配布サイトのドキュメントをご覧下さい。
DSSSのレポジトリに登録されているライブラリは、例えばmangoというライブラリは
dsss net install mango
こういうコマンド1発でインストールできます。登録されているライブラリの一覧は
dsss net list
で見ることができます。ローカルでビルドしたライブラリも
dsss build dsss install
こんな感じでインストール。
筆者的に DSSS の方がおすすめです。
一応Budの解説も残しておきます。
DSSSは、static ifで条件importしている依存関係の解析が甘くて時々不便だったりするので…
あと Bud は D 2.x の最新でも安定して動きます。
D専用makeのようなツールです。以下からダウンロードできます。
「インストール方法:Budでビルドしてください」という形で提供されている ライブラリが結構あるので、普段この手のツールを使わない方でも、 一応入れておくと便利なのではないかと思います。
Windows用実行ファイルとして公開されているものは、 正確にはWindows版DMD用実行ファイルです。GDCをメインにする場合は使えません。 (※調査不足かもしれませんが、例えソースからビルドしても 色々処理がDMD依存になっていて、Win版GDCではまだ使えないような感じがします…。) DMDの場合は、
;%@P%\..\..\dmd\lib"
という手順で使えるようになります。
ビルド済みバイナリは用意されていないようなので、 ソースからビルドする必要があります。 Dで書かれているので、先にDMDかGDCを入れておいてからmakeしてください。 その際、必ずbudから呼び出したいコンパイラでbud自体をコンパイルします。
プロジェクトのメインのソースファイルが main.d なプロジェクトをビルドしたいときは
bud main
と打てばOKです。ただし、Windows用のGUIアプリを作りたいときは
bud -gui main
になります。依存関係のチェックはBudが自動で行うので、Makefile的 なものを別途用意する必要はありません。 その他細かい使い方は配布サイトのドキュメントをご覧下さい。
2008年2月現在、一番完成度の高いと思われる統合開発環境はこちら。
インストールするには、まず Eclipse (3.2.1以上) が必要です。 Europa (3.3.x) なら大丈夫です。Eclipse のサイトには色々パッケージがありますが、どれでも OK です。 適当に、"Eclipse IDE for Java Developers" 辺りがスタンダードでよいのではないでしょうか。
あとは、 Descent のサイトの手順 (1) (2) (3) (4) 通りで行けます。
いくつか有望なプロジェクトを紹介します。
どのデバッガを使用する際も、デバッグ対象のプログラムに情報を埋め込むために、 コンパイル時/リンク時に -g オプションをつけるようにして下さい。
Windows版 DMD に付属のデバッガです。マニュアル に書かれているように
> windbg プログラム名.exe
でWinDbgが起動し、出てきたコマンド窓に
> g _Dmain
と打ち込むと実行開始してmainの先頭で止まります。あとはステップ実行するなり
Linux等では、GNU Projectによるデバッガ gdb でデバッグできます。 詳しくは gdbのマニュアル 等をどうぞ。 使い方は C/C++ を gdb でデバッグするときと特に変わりません。
D言語用の新しいデバッガ ddbg が開発されています。 コマンドラインから直接使うこともできますが、Code::Blocks や Descent などGUIのIDEの デバッグ機能のバックエンドとして使うとより使いやすいです。