Improve this page Github へのログインが必要です。 簡単な修正は、ここから fork、オンライン編集、pull request ができます。 大きな修正については、 通常の clone で行って下さい。 Page wiki 関連するWikiページを参照・編集 English このページの英語版(原文)

rdmd

概要

コマンドプロンプトから:
% cat myprog.d
import std.stdio;
void main()
{
    writeln("Hello, world without explicit compilations!");
}
% rdmd myprog
Hello, world without explicit compilations!
% _
Dのソースコード中で:
% cat myprog.d
#!/usr/bin/rdmd
import std.stdio;
void main()
{
    writeln("Hello, world with automated script running!");
}
% ./myprog.d
Hello, world with automated script running!
% _
(Windows では cat の代わりに type を、#!/usr/bin/rdmd の代わりに #!rdmd を、rdmd に PATH が通して、置き換えて読んで下さい。)

詳細

rdmddmd コンパイラを補助するツールで、 典型的な 編集-コンパイル-リンク-実行 や 編集-make-実行 のサイクルを、 編集-実行 というサイクルに早めるものです。make やその類似ツールのように、rdmd は更新日時の情報を使って再ビルドの必要量を最小にします。 make と違い、rdmd は、依存関係や新しいファイルの情報をユーザーの助けなく自動で取得できます。

rdmd は:

使い方

rdmd [dmd と rdmd に渡すオプション] progfile[.d] [プログラムに渡すオプション]

dmd のオプションに加え、rdmd は以下のオプションを認識します:

--build-only
ビルドのみ。実行はしない。
--chatty
dmdコマンドを、 実行する前に標準出力に表示
--compiler=/path/to/compiler
指定のコンパイラ (例 gdmd) を dmd の代わりに使用
--dry-run
実際のコンパイルは行わず、本来実行されるはずのコマンドの列を表示だけします。 (--chatty の効果が自動的に含まれます)
--eval=code
コードを void main(char[][] args) { ... } で括って実行します。 (複数 --eval を指定すると、 順に評価されます。)
--exclude=package
指定のパッケージをビルドから除外します。 (複数 --exclude を指定できます)
--force
再ビルドを(必要ないように思われるときであっても) 強制的に実行します。
--help
ヘルプメッセージを表示して終了します。
--loop=code
--eval に近いですが、加えて、コードが foreach (line; stdin.byLine()) { ... } というループの中に入ります。
--main
空の void main() {} 関数を追加。 (単体テストの実行に便利です。)
--makedepend
依存関係を Makefile の形式で表示して終了します。
--man
使用方法説明のページをブラウザで開きます。
--shebang
rdmd が shebang 行にあることを示します (先頭の引数として指定)

ダウンロード

著者

Andrei Alexandrescu