メインページ | クラス階層 | 構成 | 構成メンバ | 関連ページ

digc

通常 DMD を用いてコンパイルを行いますが、dig では digc という、 このプロセスをはるかに簡単にするプログラムが付属します。

digc は1行で実行ファイルを作るための DMDコンパイラ・ラッパーです。 プログラム・コマンドの例:

digc halhello.d / cartoon.d -then=cartoon -windowed -O -release

最初に halhello.d をソースとして halhello.exe をビルドします。 "/" はプログラムを分離します。それらはオプションを共有します。 halhello.exe のコンパイルに成功すれば、cartoon.d をソースとして catoon.exe を作成します。 "-then" は、全てのコンパイルが成功した後に実行するコマンドを 記述します。この例では、cartoonデモ が実行されます。

-windowed は、窓なプログラムをコンパイルするときに指定します。 指定の無い場合はコンソール・プログラムとしてコンパイルされます。 WinMain を使う必要はありません。通常の main で適切に動作します。

-O と -release は DMD の引数です: digc はこれらの引数を解析せず、そのまま DMD に渡します。 使用するライブラリを指定しないことに注意してください。 digc が代わりに、必要なライブラリを自動的に識別します。 これについては後述します。

"-exe=" に続けた名前を実行ファイル名として作成されます。 例えば、"-exe=halhello".

ライブラリのコンパイル(作成)

ライブラリを作成するには、"-lib="に続けて拡張子無しでライブラリ名 を記述します。1つのライブラリをコンパイルする時、 digcは、ライブラリ自身のファイル名と同様にコマンドラインで 与えられたライブラリに注目し、セントラル・レジストリ(/dmd/lib/libraries.dat) に記録します。

.d ファイルが、import されるのと同じ方法でコンパイルされることは重要です。  例えば、"import package.file;" のように file.d をインポートしたなら、 コンパイルは "digc file.d" ではなく "digc package/file.d" で行う必要があります。

 実行ファイルにリンクする必要のあるライブラリがどれかを発見するために、  この情報はコンパイル後に使用されます。

digc はこのため import 文を求めてファイルを探索し importファイルが セントラル・レジストリの中に記録されているかどうかを確かめます。 そうならば、それはライブラリとその依存性を含んでいます。

"-shared" オプションを加えることにより共有ライブラリ(WindowsのDLL)を 作成できます。 以前にこれをしている人向け: digc は自動的に DllMain を作成し、 public のシンボルをすべて export します。 以前にそれをしていない人向け: linuxと同様な振舞いのプログラムになります。 しかしながら、メイン・プログラムおよび各 DLL は自身の独立したGCを持つでしょう。 したがって、データはそれらの間で共有することができません。

通常 DMD を用いてコンパイルを行いますが、dig では digc という、 このプロセスをはるかに簡単にするプログラムが付属します。

digc は1行で実行ファイルを作るための DMDコンパイラ・ラッパーです。 プログラム・コマンドの例:

digc halhello.d / cartoon.d -then=cartoon -windowed -O -release

最初に halhello.d をソースとして halhello.exe をビルドします。 "/" はプログラムを分離します。それらはオプションを共有します。 halhello.exe のコンパイルに成功すれば、cartoon.d をソースとして catoon.exe を作成します。 "-then" は、全てのコンパイルが成功した後に実行するコマンドを 記述します。この例では、cartoonデモ が実行されます。

-windowed は、窓なプログラムをコンパイルするときに指定します。 指定の無い場合はコンソール・プログラムとしてコンパイルされます。 WinMain を使う必要はありません。通常の main で適切に動作します。

-O と -release は DMD の引数です: digc はこれらの引数を解析せず、そのまま DMD に渡します。 使用するライブラリを指定しないことに注意してください。 digc が代わりに、必要なライブラリを自動的に識別します。 これについては後述します。

"-exe=" に続けた名前を実行ファイル名として作成されます。 例えば、"-exe=halhello".

ライブラリのコンパイル(作成)

ライブラリを作成するには、"-lib="に続けて拡張子無しでライブラリ名 を記述します。1つのライブラリをコンパイルする時、 digcは、ライブラリ自身のファイル名と同様にコマンドラインで 与えられたライブラリに注目し、セントラル・レジストリ(/dmd/lib/libraries.dat) に記録します。

.d ファイルが、import されるのと同じ方法でコンパイルされることは重要です。  例えば、"import package.file;" のように file.d をインポートしたなら、 コンパイルは "digc file.d" ではなく "digc package/file.d" で行う必要があります。

 実行ファイルにリンクする必要のあるライブラリがどれかを発見するために、  この情報はコンパイル後に使用されます。

digc はこのため import 文を求めてファイルを探索し importファイルが セントラル・レジストリの中に記録されているかどうかを確かめます。 そうならば、それはライブラリとその依存性を含んでいます。

"-shared" オプションを加えることにより共有ライブラリ(WindowsのDLL)を 作成できます。 以前にこれをしている人向け: digc は自動的に DllMain を作成し、 public のシンボルをすべて export します。 以前にそれをしていない人向け: linuxと同様な振舞いのプログラムになります。 しかしながら、メイン・プログラムおよび各 DLL は自身の独立したGCを持つでしょう。 したがって、データはそれらの間で共有することができません。


digに対してMon Mar 1 00:24:41 2004に生成されました。 doxygen 1.3.6