2010年3月1日 (月)
開発環境のインストール
カテゴリ: D言語
| コメント (0)
| トラックバック (0)
|
| ![]()
前回はD言語の利点と欠点について述べたので、今度は実際にコンパイラをインストールして、サンプルコードを動かすまでを説明します。
いえ単に先日Windows再インストールしたんで、開発環境やらもさっきインストールし直しただけなんですけどね。

今回は動作確認だけなので、上記のようなメッセージボックスを表示するだけにします。
……どっちかっつーと動かすまでが長いんで。(汗)
D言語コンパイラDMDのダウンロード
D言語ダウンロードページに行き、以下のZIPファイルをダウンロードしてください。
- http://ftp.digitalmars.com/dmd.1.030.zip
D言語コンパイラDMDの安定版 (version 1.030) - http://ftp.digitalmars.com/dmc.zip
C言語コンパイラDMC、およびリンカなどのツール群
ダウンロードしたファイルを解凍すると、dmc.zip には「dm」というフォルダが、dmd.1.030.zip には「dm」と「dmd」のふたつのフォルダがあるはずです。
ここで dmc.zip の「dm」フォルダの中身を、dmd.1.030.zip の「dm」フォルダにコピーしてください。(同名のファイル、フォルダが重複しているので、上書きしても構いません)
DMDのインストール
D言語コンパイラDMDは、「C:\Program Files」のような空白を含むパスにはインストールできません。
とりあえず今回はCドライブ直下に「DevTools」という名前のフォルダを作って、そこにインストールすることにします。
先ほどの「dm」、「dmd」フォルダを、「C:\DevTools」にコピーしてください。
環境変数
コピーした「C:\DevTools\dm\bin」と「C:\DevTools\dmd\bin」を環境変数に登録します。
スタートメニューから「マイ コンピュータ」を右クリックして、「プロパティ」を選択すると、システムのプロパティが表示されます。

「詳細設定」タブ内の「環境変数」ボタンをクリックします。

「新規」ボタンをクリックし、以下の項目を入力します。
【変数名】PATH
【変数値】C:\DevTools\dmd\bin;C:\DevTools\dm\bin
入力し終えたら「OK」ボタンをクリックして、システムのプロパティを閉じます。
sc.ini の書き換え
DMD は起動時に「sc.ini」という設定ファイルを読み込みます。
sc.ini にはデフォルトのインクルードパスやリンクライブラリ、リンカのパスなどが書かれていますが、なぜか「DMC付属ライブラリのパス」だけが絶対パス(\dm\lib)で書かれているので、このままでリンク時に「ライブラリが見つからないよ~」というエラーが返ってきます。
C:\DevTools\dmd\bin\sc.ini を直接書き換えてもいいのですが、それだと後で最新版のコンパイラに差し替えた場合に sc.ini も上書きされてしまうため、ここでは別の場所にある sc.ini を読み込ませるようにします。
sc.ini はDMDの起動時に以下の順番で検索され、最初に見つかった sc.ini の設定が有効になります。
- カレントディレクトリ
- 環境変数「HOME」で指定されたディレクトリ
- DMDがインストールされたディレクトリ(C:\DevTools\dmd\bin)
ここでは2番目の環境変数「HOME」を指定して、そこに sc.ini を書くことにします。
再度「システムのプロパティ」を開いて、以下の環境変数を追加してください。
【変数名】HOME
【変数値】C:\project
C:\project の部分は、自分の環境に合わせて設定してください。
次にテキストエディタを開き、以下の内容を「C:\project\sc.ini」というファイル名で保存します。
sc.ini – DMDの設定項目
[Version]
version=7.51 Build 020
[Environment]
DFLAGS=-IC:\DevTools\dmd\src\phobos
LIB=C:\DevTools\dmd\lib;C:\DevTools\dm\lib
LINKCMD=C:\DevTools\dm\bin\link.exe
このように設定しておけば、将来複数のバージョンのDMDをインストールしたり、最新版に差し替えたりしても、設定項目が書き換わることはありません。
以上でインストールは終了です。
サンプルプログラムのコンパイル
それではいよいよサンプルをコンパイルしてみます。
お使いのテキストエディタで新規ファイルを作成し、以下のソースコードを入力してください。
保存するときの文字コードは、UTF-8、UTF-16、UTF-32のいずれかにしてください。
この例ではファイル名を「hello.d」として保存します。
hello.d - D言語サンプル (Hello World)
// Win32 API: int MessageBox(HWND, PCTSTR, PCTSTR, UINT);
extern(Windows) int MessageBoxW(void*, wchar*, wchar*, uint);
// MessageBoxW() 関数を MessageBox() で呼び出せるようにする
alias MessageBoxW MessageBox;
// メッセージボックスのテキスト
const wchar[] message =
"D言語でらくちんプログラミング。
いちいちコマンドプロンプトが出てきてウザいぞなもし、という場合は
以下のコマンドでコンパイルすれば消えますよん。
dmd -L/exet:nt/su:windows:4.0 hello.d\0";
// メッセージボックスのタイトル
const wchar[] caption = "Hello D World !!\0";
// メッセージボックスの表示タイプ (OKボタン表示)
const uint MB_OK = 0;
/**
* main 関数 - アプリケーションのエントリポイント
*
* Params:
* args = コマンドライン引数
*
* Returns:
* アプリケーション終了コード
*/
int main(char[][] args)
{
// メッセージボックスを表示します
MessageBox(null, message.ptr, caption.ptr, MB_OK);
return 0;
}
hello.d のコンパイル
コマンドプロンプト(スタートメニューの「すべてのプログラム」 – 「アクセサリ」の中にあります)を開き、以下のコマンドを入力します。
以下は hello.d ファイルが C:\test フォルダにある場合です。
C:\> cd \test
C:\test> dmd hello.d
エラーがない場合は、C:\test フォルダに実行ファイル「hello.exe」ができます。
このファイルをダブルクリックすると、以下のようなメッセージボックスが表示されるはずです。

メッセージボックスと一緒に表示されるコマンドプロンプト(真っ黒いウィンドウ)が邪魔だと感じる場合は、「dmd hello.d」の代わりに以下のコマンドを入力してください。
C:\> cd \test
C:\test> dmd -L/exet:nt/su:windows:4.0 hello.d
まとめ
D言語コンパイラDMDはインストーラなどもなく、設定はすべて手作業で行わなければならない分、慣れてない方には若干敷居が高いかもしれません。
もっとも設定内容自体はパスを通すだけなので、ある程度のPCスキルがあれば問題ないかと思います。
前回も書きましたが、D言語は便利なわりに人気が低く、とかくネットと睨めっこしなければ覚えられないニッチなプログラミング言語ですので、疑問に思ったことはすぐさま検索するクセをつけておくのが吉でしょう。
ちなみに今回のサンプルコードは、わざと冗長な書き方をしてみました。
実際にはもっと短く書けるので、興味がある方はD言語のリファレンス読みながらいじくってみてください。