ページへ戻る

− Links

 印刷 

Tools​/DMD :: D言語友の会

wiki:Tools/DMD

ページ内コンテンツ
  • 概要
  • インストール
    • 開発番の場合
      • Windows版
      • Linux版
      • MacOSX版
      • FreeBSD版
    • 最新版の場合
      • Windows版
      • Linux版(Ubuntu)
      • MacOSX版
    • 通常版(D2.0)の場合
      • Windows版
      • Linux版
      • MacOSX版
    • 通常版(D1.0)の場合
      • Windows版
      • Linux版
    • Tango版の場合
      • Windows版
      • Linux版
      • MacOSX版
    • バンドル版の場合
      • Windows版
      • Linux版
  • 使い方
    • コマンドラインスイッチの解説
      • <filename>
      • @<cmdfile>
      • -c
      • -cov
      • -D
      • -Dd<docdir>
      • -Df<filename>
      • -d
      • -debug
      • -debug=<level>
      • -debug=<ident>
      • -debuglib=<name>
      • -defaultlib=<name>
      • -g
      • -gc
      • -gs
      • -H
      • -Hd<hddir>
      • -Hf<filename>
      • --help
      • -I<Path>
      • -ignore
      • -inline
      • -J<path>
      • -L<linkerflag>
      • -lib
      • -man
      • -map
      • -noboundscheck
      • -nofloat
      • -O
      • -o-
      • -od<objdir>
      • -of<filename>
      • -op
      • -profile
      • -property
      • -quiet
      • -release
      • -run <srcfile> [args...]
      • -unittest
      • -v
      • -version=<level>
      • -version=<ident>
      • -vtls
      • -w
      • -wi
      • -X
      • -X<filename>
  • 関連
  • 逆リンク
  • 付録
    • パスの通し方
      • Windows XP
      • Windows Vista
      • Windows 7
      • Linux
  • 投票とコメント

概要 anchor.png[1] Edit [2]

Digital Mars製のD言語コンパイラ

現在対応しているOSは以下の通り

  • Windows
  • Linux
  • MacOSX
  • FreeBSD
Page Top

インストール anchor.png[3] Edit [4]

dmdのインストールにはいくつかケースが存在します。 目的に合ったものをインストールしましょう。

  • 開発版 (Windows|Linux|MacOSX|FreeBSD) 開発版は、Dのバージョンが2.0系で、次回リリースに向けた開発中のバージョン、標準ライブラリがPhobosで、その他にはライブラリが含まれていないものです。
    メリット
    • 開発中のプロジェクトに関しては、破壊的変更に非常に強い。常に最小のコストで最新のバージョンに追従することができる。
    • 最新を追う楽しさがある
    • 常に最新の機能が利用できる
    • 開発中の機能を先取りして利用することができる
    デメリット
    • エンバグを踏む可能性がある
    • ライブラリが利用できないものが多い。ライブラリは一切使えない、あるいは自力で修正して使うしかないと考えた方がいい。最低限svnのtrunkからチェックアウトして利用できなければ難しい。
  • 最新版 (Windows|Linux|MacOSX)
    最新版は、Dのバージョンが2.0系の最新バージョン*1、標準ライブラリがPhobosで、そのほかにはライブラリが含まれていないものです。
    メリット
    • 最新を追う楽しさがある
    • 常に最新の機能が利用できる
    • 既知のバグは最も少ない
    • 危険にさらされている個所が破壊的変更によりコンパイルできなくなることがあり、すぐに気付けるため安全。
    デメリット
    • 常に最新のバージョンに更新し続けないと面白みはない
    • 更新に破壊的変更が含まれる場合がある
    • ライブラリが利用できないものが多い。ライブラリは一切使えない、あるいは自力で修正して使うしかないと考えた方がいい。最低限svnのtrunkからチェックアウトして利用できなければ難しい。
  • 通常版(D2.0) (Windows|Linux|MacOSX)
    通常版(D2.0)は、Dのバージョンが2.0系のαバージョン*1、標準ライブラリがPhobosで、そのほかにはライブラリが含まれていないものです。
    メリット
    • D2.0の機能を取り入れつつ、コンパイラを更新しない限り安定した開発が望める
    デメリット
    • 最新ではなく、面白みが薄い。
    • 仕様の定まりきっていない中途半端な状態のバージョンである
  • 通常版(D1.0) (Windows|Linux)
    通常版(D1.0)は、Dのバージョンが1.0系の安定バージョン*2、標準ライブラリがPhobosで、そのほかにはライブラリが含まれていないものです。
    メリット
    • ある程度仕様が枯れており、破壊的変更がほぼ無い。
    • そのため、ある程度安定した開発が可能。
    デメリット
    • 最新の機能は利用できない。
    • 標準ライブラリ・ユーザーライブラリ問わず古く、重大なセキュリティーエラーでも放置されている可能性が高い。
  • Tango版 (Windows|Linux|MacOSX)
    Tango版は、DのバージョンがTangoリリース時の1.0系の最新バージョン*3、標準ライブラリPhobosが使えない代わりにTangoを利用でき、そのほかにはライブラリが含まれていないものです。
    メリット
    • Phobos(D1)を使えない代わり、より強力なTangoを利用できる。Phobos(D2)と比べると一長一短でありあまり利点とはいえないかもしれない。
    • 言語仕様およびライブラリが枯れてきているため、破壊的変更は発生し難い。
    • 安定的な開発が可能。
    デメリット
    • Phobos(D1)の機能を利用できない。*4
    • Phobos(D2)の機能を利用できない。つまり、D言語らしい記法のほとんどに対応していない*5
    • D言語そのものの最新の機能は利用できない。
    • Tangoを利用したソフトウェアは、BSDライセンスにより必ずTangoを利用したことを明示しなければならない。
    • Tangoを使うとライセンス問題のためPhobosへのソースコード提供の障害になる可能性がある
    • 最新版(D2)への移行難易度が跳ね上がる
  • バンドル版 (Windows|Linux|MacOSX)
    バンドル版は、Dのバージョンが1.0系の安定バージョン*2、標準ライブラリがTango*6で、そのほかに以下のライブラリ及びツールが含まれているものです。
    • DWT 231 (based off of SWT 3.4)
    • Derelict (DSSS Latest)
    • Ddbg Debugger v0.11.3
    • DDL (and utility apps)
    • Arclib
    • DAllegro 4.2.2.0
    • Bud
    • DCode Editor
    • DDBI (with modifications to get Sqlite3 to work)
    メリット
    • 通常版(D1.0)に比べ、多様なライブラリのインストールの手間が省ける
    • インストーラが付属しているので、手軽にインストール/アンインストールすることができる。
    デメリット
    • 標準ライブラリがTangoであり、そのデメリットをまるまる引き継ぐ。
    • パスが通っていないので、設定しない限り専用のプロンプトからでないとコンパイルすることができない。*7
Page Top

開発番の場合 anchor.png Edit [5]

(Windows|Linux|MacOSX|MacOSX)

Page Top

Windows版 anchor.png Edit [6]

  1. 必要なものをダウンロード・インストールします
    msysGit
    Google:msysGit[7]
  2. (書き途中)
Page Top

Linux版 anchor.png Edit [8]

  1. 必要なものをダウンロード・インストールします :: git
  2. (書き途中)
Page Top

MacOSX版 anchor.png Edit [9]

情報求む!
Page Top

FreeBSD版 anchor.png Edit [10]

情報求む!
Page Top

最新版の場合 anchor.png Edit [11]

(Windows|Linux|MacOSX)

Page Top

Windows版 anchor.png Edit [12]

  1. 必要なものをダウンロードします
    dmd.2.0XX.zip
    公式のChangelog[13]より、最も新しいバージョンをダウンロードしてください
  2. dmd.2.0XX.zipを解凍してインストール先に配置します。
    以下のような構成になるようにしてください*8
    <install_dir>\dmd
    <install_dir>\dmd\windows
    <install_dir>\dmd\windows\bin
    <install_dir>\dmd\windows\bin\dmd.exe
    <install_dir>\dmd\windows\lib
    <install_dir>\dmd\linux
    <install_dir>\dmd\...
    また、<install_dir>にはインストールするディレクトリ名が入りますが、この中に半角スペースが存在してはいけません。リンクの際にエラーが発生します。
    基本的には、
    C:\dmd\windows\bin\dmd.exe
    C:\dmd\linux
    C:\dmd\...
    となるように配置するといいでしょう。
    zipファイル内部に含まれているdmフォルダを<install_dir>\dmに上書きして保存します。
  3. PATHを通します。
    <install_dir>\dmd\windows\bin にパスを通します。
    パスの通し方は下記付録に記述します。
    <通したいパス>を、 <install_dir>\dmd\bin や <install_dir>\dm\bin と読み替えてください。
    なお、このパスを通す作業は、コマンドプロンプトから
    1
    
    dmd main.d
    などと言ったように、簡単な実行が行えるようにするために行います。
  4. 以上です
Page Top

Linux版(Ubuntu) anchor.png Edit [14]

情報求む
  1. 必要なものをダウンロードします
    dmd_2.0XX_i386.deb
    公式のChangelog[13]より、最も新しいバージョンをダウンロードしてください
  2. debパッケージをsudoしてインストールします。
    user1$~ sudo dpkg -i dmd_2.0xx_i386.deb
    debパッケージは/usr/binにバイナリが配置されるので別途pathの設定は必要ありません。又リンカオプション等も あらかじめ用意された/etc/dmd.confの設定内容で問題ありません。
  3. 以上です
Page Top

MacOSX版 anchor.png Edit [14]

Windows版を参考にzipをDLしてください.中にosxというMac用のディレクトリがあるのでdmd2/osx/binをシェルのPATHに追加して下さい.既に実行権限はついているので,rehashを行えばdmdコマンドが使えるようになります.

Page Top

通常版(D2.0)の場合 anchor.png Edit [15]

(Windows|Linux|MacOSX)

Page Top

Windows版 anchor.png Edit [16]

  1. 必要なものをダウンロードします
    dmd.2.028.zip
    公式のダウンロードページ[17]より、dmd.2.014.zipをダウンロードしてください
  2. dmd.2.028.zipを解凍してインストール先に配置します。
    以下のような構成になるようにしてください*8
    <install_dir>\dmd
    <install_dir>\dmd\windows
    <install_dir>\dmd\windows\bin
    <install_dir>\dmd\windows\bin\dmd.exe
    <install_dir>\dmd\windows\lib
    <install_dir>\dmd\linux
    <install_dir>\dmd\...
    また、<install_dir>にはインストールするディレクトリ名が入りますが、この中に半角スペースが存在してはいけません。リンクの際にエラーが発生します。
    基本的には、
    C:\dmd\windows\bin\dmd.exe
    C:\dmd\linux
    C:\dmd\...
    となるように配置するといいでしょう。
    zipファイル内部に含まれているdmフォルダを<install_dir>\dmに上書きして保存します。
  3. PATHを通します。
    <install_dir>\dmd\windows\bin にパスを通します。
    パスの通し方は下記付録に記述します。
    <通したいパス>を、 <install_dir>\dmd\bin などと読み替えてください。
    なお、このパスを通す作業は、コマンドプロンプトから
    1
    
    dmd main.d
    などと言ったように、簡単な実行が行えるようにするために行います。
  4. 以上です
Page Top

Linux版 anchor.png Edit [18]

情報求む
Page Top

MacOSX版 anchor.png Edit [18]

情報求む
Page Top

通常版(D1.0)の場合 anchor.png Edit [19]

(Windows|Linux)

Page Top

Windows版 anchor.png Edit [20]

  1. 必要なものをダウンロードします
    dmd.1.030.zip
    公式のダウンロードページ[17]より、dmd.1.030.zipをダウンロードしてください
    dmc.zip
    公式のダウンロードページ[17]より、dmc.zipをダウンロードしてください
  2. dmd.1.030.zipを解凍してインストール先に配置します。
    以下のような構成になるようにしてください*8
    <install_dir>\dmd
    <install_dir>\dmd\bin
    <install_dir>\dmd\bin\dmd.exe
    <install_dir>\dmd\...
    <install_dir>\dmd\lib
    <install_dir>\dmd\...
    <install_dir>\dm
    <install_dir>\dm\bin
    <install_dir>\dm\bin\dmc.exe
    <install_dir>\dm\...
    また、<install_dir>にはインストールするディレクトリ名が入りますが、この中に半角スペースが存在してはいけません。リンクの際にエラーが発生します。
    基本的には、
    C:\dmd\bin\dmd.exe
    C:\dmd\...
    C:\dm\bin\dmc.exe
    C:\dm\...
    となるように配置するといいでしょう。
  3. dmc.zipを解凍してインストール先に上書きします。
    zipファイル内部に含まれているdmフォルダを<install_dir>\dmに上書きして保存します。
  4. PATHを通します。
    <install_dir>\dmd\bin 及び <install_dir>\dm\bin にパスを通します。
    パスの通し方は下記付録に記述します。
    <通したいパス>を、 <install_dir>\dmd\bin や <install_dir>\dm\bin と読み替えてください。
    なお、このパスを通す作業は、コマンドプロンプトから
    1
    
    dmd main.d
    などと言ったように、簡単な実行が行えるようにするために行います。
  5. 以上です
Page Top

Linux版 anchor.png Edit [21]

情報求む
Page Top

Tango版の場合 anchor.png Edit [22]

(Windows|Linux|MacOSX)

Page Top

Windows版 anchor.png Edit [23]

  1. 必要なものをダウンロードします
    tango-0.99.8-bin-win32-dmd.1.041.zip

    公式のダウンロードページ[24]より、
    current release as a zip
    をダウンロードしてください。
    現在Tangobosがバンドルされているものは提供されていない模様。Tangobosが必要な場合は別途ダウンロードして利用する必要がある。
  2. tango-0.99.8-bin-win32-dmd.1.041.zipを解凍してインストール先に配置します。
    (解凍先のフォルダはtango-0.99.8-bin-win32-dmd.1.041ではなく、dmdとでも名前を変えたほうが扱いやすいかと思います。以下はそのように改名したものとして扱います)
    以下のような構成になるようにしてください*8
    <install_dir>\dmd
    <install_dir>\dmd\bin
    <install_dir>\dmd\bin\dmd.exe
    <install_dir>\dmd\...
    <install_dir>\dmd\lib
    <install_dir>\dmd\...
    <install_dir>\dmd\import
    <install_dir>\dmd\import\tango
    <install_dir>\dmd\...
    また、<install_dir>にはインストールするディレクトリ名が入りますが、この中に半角スペースが存在してはいけません。リンクの際にエラーが発生します。
    基本的には、
    C:\dmd\bin\dmd.exe
    C:\dmd\bin\sc.ini
    C:\dmd\bin\link.exe
    C:\dmd\...
    となるように配置するといいでしょう。
  3. PATHを通します。
    <install_dir>\dmd\bin にパスを通します。
    パスの通し方は下記付録に記述します。
    <通したいパス>を、 <install_dir>\dmd\bin などと読み替えてください。
    なお、このパスを通す作業は、コマンドプロンプトから
    1
    
    dmd main.d
    などと言ったように、簡単な実行が行えるようにするために行います。
  4. 以上です
Page Top

Linux版 anchor.png Edit [25]

情報求む
Page Top

MacOSX版 anchor.png Edit [26]

情報求む
Page Top

バンドル版の場合 anchor.png Edit [27]

(Windows|Linux)

Page Top

Windows版 anchor.png Edit [28]

  1. 必要なものをダウンロードします
    dmd-win32snaphot-0.6.2.exe
    公式のダウンロードページ[17]からEasy Dのプロジェクトのページ[29]に飛んでください。そのページの下のほうにあるDownloadのリンクからダウンロードします。
  2. インストーラを実行します。
    1. Nextをクリックします
      bundle_install_01.png[30]
    2. 規約を読んでI Agreeをクリックします
      bundle_install_02.png[31]
    3. 規約を読んでI Agreeをクリックします
      bundle_install_03.png[32]
    4. 規約を読んでI Agreeをクリックします
      bundle_install_04.png[33]
    5. 規約を読んでI Agreeをクリックします
      bundle_install_05.png[34]
    6. インストール先を入力し、Installを押します。
      この際、インストール先のパスには半角スペースが入ってはなりません。
      デフォルトのままが良いでしょう。
      bundle_install_06.png[35]
    7. Readmeの文書が出ますが、閉じてFinishをクリックします
      bundle_install_07.png[36]
  3. これで一応インストールは終了です。
    bundle_install_08.png[37]
  4. 次にコンパイルの確認をします。
    1. スタート>すべてのプログラム>Easy D>Compiler Shell を起動
    2. あとは通常のコマンドラインからコンパイルする方法と同様にコンパイルすることができます。
    3. 詳しくは HowTo/実行ファイルを作る などをご覧ください。
    4. ただし、 dmd main.d -L+tango-user-dmd.lib という感じで、-L+tango-user-dmd.libを利用して明示的にtangoのスタティックライブラリをリンクさせる必要があるようです。
    5. こんな感じになるはずです。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      
      Shell setup for Digital Mars D Compiling and Debugging
      build software: dsss build [-g] main_file.d (-g for debugging)
      debug software: ddbg exe_file.exe
      change which drive you're on: [Drive Letter]:\
      eg. C:\ to change to C drive
      Microsoft Windows [Version 6.1.7000]
      Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
       
      C:\> cd /D C:\dproject
       
      C:\dproject> dmd main.d -L+tango-user-dmd.lib
       
      C:\dproject> main.exe
      Hello, world!
       
      C:\dproject>
      bundle_install_09.png[38]
      ◀実際の画面
  5. 必要ならば、sc.iniを書き換えます。
    1. sc.iniを書き換えると、-L+tango-user-dmd.libを記述しなくともコンパイルを行うことが可能となります。
    2. <install_dir>\dmd\bin\sc.ini を以下のような内容に書き換えます。
      filesc.ini[39]
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      
      [Version]
      version=7.51 Build 020
       
      [Environment]
      ; LIB=%@P%\..\lib;\dm\lib
      LIB="%@P%\..\import\lib;%@P%\..\lib;%@P%\..\..\dm\lib"
       
      ;DFLAGS="-I%HOME%\common" "-I%HOME%\.."
      DFLAGS="-I%@P%\..\import" -version=Tango -defaultlib=tango-base-dmd -debuglib=tango-base-dmd -L+tango-user-dmd.lib
       
      LINKCMD=%@P%\..\..\dm\bin\link.exe
  6. 以上です。
Page Top

Linux版 anchor.png Edit [40]

現在Linux版の提供はありません。

Page Top

使い方 anchor.png[41] Edit [42]

Page Top

コマンドラインスイッチの解説*9 anchor.png[43] Edit [44]

+  dmdのヘルプ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
$ dmd
DMD32 D Compiler v2.056
Copyright (c) 1999-2011 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/2.0/index.html
Usage:
  dmd files.d ... { -switch }
 
  files.d        D source files
  @cmdfile       read arguments from cmdfile
  -c             do not link
  -cov           do code coverage analysis
  -D             generate documentation
  -Dddocdir      write documentation file to docdir directory
  -Dffilename    write documentation file to filename
  -d             allow deprecated features
  -debug         compile in debug code
  -debug=level   compile in debug code <= level
  -debug=ident   compile in debug code identified by ident
  -debuglib=name    set symbolic debug library to name
  -defaultlib=name  set default library to name
  -deps=filename write module dependencies to filename
  -g             add symbolic debug info
  -gc            add symbolic debug info, pretend to be C
  -H             generate 'header' file
  -Hddirectory   write 'header' file to directory
  -Hffilename    write 'header' file to filename
  --help         print help
  -Ipath         where to look for imports
  -ignore        ignore unsupported pragmas
  -inline        do function inlining
  -Jpath         where to look for string imports
  -Llinkerflag   pass linkerflag to link
  -lib           generate library rather than object files
  -man           open web browser on manual page
  -map           generate linker .map file
  -noboundscheck turns off array bounds checking for all functions
  -nofloat       do not emit reference to floating point
  -O             optimize
  -o-            do not write object file
  -odobjdir      write object & library files to directory objdir
  -offilename    name output file to filename
  -op            do not strip paths from source file
  -profile       profile runtime performance of generated code
  -property      enforce property syntax
  -quiet         suppress unnecessary messages
  -release       compile release version
  -run srcfile args...   run resulting program, passing args
  -unittest      compile in unit tests
  -v             verbose
  -version=level compile in version code >= level
  -version=ident compile in version code identified by ident
  -vtls          list all variables going into thread local storage
  -w             enable warnings
  -wi            enable informational warnings
  -X             generate JSON file
  -Xffilename    write JSON file to filename
Page Top

<filename> anchor.png[45] Edit [46]

直接ファイル名を指定します。ファイルの拡張子は下記表のいずれかとなっています。

拡張子説明
*.dD言語のソースファイル
*.ddDDocのソースファイル
*.diD インターフェイスファイル
*.objリンクしたい中間ファイル(オブジェクトファイル)
*.lib検索対象にするオブジェクトコードライブラリ
*.exe出力する実行ファイルの名前
*.def実行モジュール定義ファイル
*.resリソースファイル
Page Top

@<cmdfile> anchor.png[47] Edit [48]

レスポンスファイルを指定できます。コンパイラへの引数とスイッチを、テキストファイル <cmdfile> から読み込むことができます。
何回も実行する場合はレスポンスファイルに引数を記録しておいた方が良いでしょう。 例として以下にDWTを用いたプログラムのコンパイルに使うレスポンスファイルの一例を示します。ここでは拡張子を*.rspとしますが、拡張子は何でも構いません。

build.rsp
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
main.d
myshell.d
dwt.lib
advapi32.lib
comctl32.lib
comdlg32.lib
gdi32.lib
kernel32.lib
shell32.lib
ole32.lib
oleaut32.lib
olepro32.lib
oleacc.lib
user32.lib
usp10.lib
msimg32.lib
opengl32.lib
shlwapi.lib
-inline
-release
-O
-L/SUBSYSTEM:windows:5
-version=WindowsXP
-oftest.exe

このレスポンスファイルを用いたコンパイル方法は以下。

1
dmd @build.rsp
Page Top

-c anchor.png[49] Edit [50]

このコマンドラインスイッチを指定すると、リンクをしなくなります。つまり、実行ファイルは作られませんが、中間ファイル(objファイル)が生成されます。
分割コンパイルなどに利用します。

1
2
3
dmd -c main.d -ofmain.obj
dmd -c test.d -oftest.obj
dmd main.obj test.obj -oftest.exe
Page Top

-cov anchor.png[51] Edit [52]

コードカバレッジ解析を有効にします。このコマンドラインスイッチをつけてコンパイルしてできた実行ファイルを実行する際にコードカバレッジ解析が行われます。コードカバレッジは、何回も実行されてパフォーマンスが要求される個所や、unittestのカバーしているところを明らかにします。

main.d
Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 
 
-
|
!
 
-
|
!
 
-
|
|
!
import tango.io.Stdout;
int test()
{
    return 1;
}
unittest
{
    assert(test() == 1);
}
int main()
{
    Stdout(test()).newline;
    return 0;
}
1
2
dmd main.d -cov -unittest -g -debug -ofmain.exe
main.exe
Page Top

-D anchor.png[53] Edit [54]

ソースコード内のDDoc形式のコメントからドキュメントを生成します。candydoc等と組み合わせて利用するとよいでしょう。

Page Top

-Dd<docdir> anchor.png[55] Edit [56]

ドキュメントの出力先を指定することができます。

Page Top

-Df<filename> anchor.png[57] Edit [58]

ドキュメントのファイル名を指定することができます。

Page Top

-d anchor.png[59] Edit [60]

deprecatedでマークされた、非推奨のフィーチャを利用することができるようになります。どうしてもというとき以外は使用しないことをお勧めします。

Page Top

-debug anchor.png[61] Edit [62]

デバッグモードでコンパイルします。コード内部ではdebug文が実行されるようになります。

Page Top

-debug=<level> anchor.png[63] Edit [64]

デバッグモードでコンパイルします。さらに<level>以下のdebug(<level>) 文が実行されるようになります。

Page Top

-debug=<ident> anchor.png[65] Edit [66]

デバッグモードでコンパイルします。さらにdebug(<ident>) 文が実行されるようになります。

Page Top

-debuglib=<name> anchor.png[67] Edit [68]

デバッグ時に使用するコアライブラリを指定します。標準ライブラリ等のデバッグ情報が欲しい場合に利用することができます。

Page Top

-defaultlib=<name> anchor.png[69] Edit [70]

デバッグ時以外のときの標準的なコアライブラリを指定します。

Page Top

-g anchor.png[71] Edit [72]

デバッグ情報を付与します。

Page Top

-gc anchor.png[73] Edit [74]

C用のデバッグ情報を付与します。デバッグ情報がCの形式でしか利用できないときに使用します。

Page Top

-gs anchor.png[75] Edit [76]

スタックフレームを必ず生成するようにします。

Page Top

-H anchor.png[77] Edit [78]

ヘッダファイルを生成します。.diファイルのことです。

Page Top

-Hd<hddir> anchor.png[79] Edit [80]

ヘッダファイルを出力する出力先を指定します。

Page Top

-Hf<filename> anchor.png[81] Edit [82]

出力するヘッダファイルの名前を指定します。

Page Top

--help anchor.png[83] Edit [84]

ヘルプの情報を出力します。

Page Top

-I<Path> anchor.png[85] Edit [86]

importで検索するディレクトリを追加します。

Page Top

-ignore anchor.png[87] Edit [88]

サポートされていないpragmaは無視するようにします。

Page Top

-inline anchor.png[89] Edit [90]

インライン関数にできるものはインライン展開して高速化します。最適化に関するオプションです。

Page Top

-J<path> anchor.png[91] Edit [92]

improt(<path>)文で検索するディレクトリを追加します。

Page Top

-L<linkerflag> anchor.png[93] Edit [94]

リンカに渡すフラグを追加します。

Page Top

-lib anchor.png[95] Edit [96]

スタティックリンクライブラリを生成します。

Page Top

-man anchor.png[97] Edit [98]

オンラインマニュアルを表示します。

Page Top

-map anchor.png[99] Edit [100]

mapファイルを生成するオプションです。

Page Top

-noboundscheck anchor.png[101] Edit [102]

配列の境界チェックを行わないようにするオプションです。高速化が見込めますがその分危険です。基本的にはこのオプションは指定しないようにしましょう。

Page Top

-nofloat anchor.png[103] Edit [104]

浮動小数点演算コードが存在する場合であっても、オブジェクトファイルから __fltused への参照を除去します。ライブラリコードに対して有用です。 (Windows専用)

Page Top

-O anchor.png[105] Edit [106]

最適化を行います。

Page Top

-o- anchor.png[107] Edit [108]

中間ファイル(objファイル)を生成しません。

Page Top

-od<objdir> anchor.png[109] Edit [110]

中間ファイル(objファイル)の出力先のディレクトリを指定します。

Page Top

-of<filename> anchor.png[111] Edit [112]

中間ファイルの名前を指定します

Page Top

-op anchor.png[113] Edit [114]

このスイッチが入っていると、ファイル名からパスに関する情報を消し去りません。階層情報を保ったまま中間ファイルを生成します。

Page Top

-profile anchor.png[115] Edit [116]

コードの実行時のパフォーマンスをプロファイリングします。

Page Top

-property anchor.png[117] Edit [118]

ユーザー定義プロパティが使えるのは、@propertyをつけたもののみと限定することができます。

Page Top

-quiet anchor.png[119] Edit [120]

不必要なメッセージは出力しないようにします。警告文などが削除されるため、あまりお勧めしません。

Page Top

-release anchor.png[121] Edit [122]

リリースバージョンとしてコンパイルします。最適化に関するオプションです。

Page Top

-run <srcfile> [args...] anchor.png[123] Edit [124]

コンパイルした実行ファイルをそのまま[args...]を渡して実行します。

Page Top

-unittest anchor.png[125] Edit [126]

ユニットテストを行います。このスイッチをつけて実行ファイルを生成した場合、その実行時にユニットテストが呼び出されます。この際にコードカバレッジも行われます。実行ファイルはユニットテストが失敗するとエラーメッセージを出して終了します。

Page Top

-v anchor.png[127] Edit [128]

コンパイル時の情報を出力するようになります。

Page Top

-version=<level> anchor.png[129] Edit [130]

<level>以上のversion(<level)文が実行されるようになります。

Page Top

-version=<ident> anchor.png[131] Edit [132]

version(<ident>)文が実行されるようになります。

Page Top

-vtls anchor.png[133] Edit [134]

スレッドローカルストレージとなる全ての変数をリストアップします。

Page Top

-w anchor.png[135] Edit [136]

警告を有効にして、警告に引っかかるとコンパイルエラーとします。なるべくつけても通るようにするとよいでしょう。

Page Top

-wi anchor.png[137] Edit [138]

警告文を有効にします。警告が出てもコンパイルエラーとはなりません。可能なら-wでエラーとしたほうが良いでしょう。

Page Top

-X anchor.png[139] Edit [140]

JSONファイルを生成します。

Page Top

-X<filename> anchor.png[141] Edit [142]

JSONファイルを生成するときの名前を指定します。

Page Top

逆リンク anchor.png[146] Edit [147]

Page Top

付録 anchor.png[150] Edit [151]

Page Top

パスの通し方 anchor.png Edit [152]

Page Top

Windows XP anchor.png[153] Edit [154]

  1. スタート
  2. 「マイ コンピュータ」を右クリック
  3. 「プロパティ」をクリック
  4. 「詳細設定」のタブをクリック
  5. 「環境変数」をクリック
  6. システム環境変数の「Path」をダブルクリック or Pathを選択した状態で編集ボタンをクリック
  7. 変数値のテキストボックスの先頭に、「<通したいパス>;」を追加する。
    加えるパスの、最後のセミコロンは忘れてはいけません。
    ex) C:\dmd\bin と C:\dm\bin にパスを通したい場合
    C:\dmd\bin;C:\dm\bin;C:\usr\local\bin;%SystemRoot%\system32;%SystemRoot%;
  8. 「OK」をクリックして、システム変数の編集を閉じる
  9. 「OK」をクリックして、環境変数を閉じる
  10. 「OK」をクリックして、システムのプロパティを閉じる
  11. 「OK」をクリックして、システムのウィンドウを閉じる
Page Top

Windows Vista anchor.png[155] Edit [156]

  1. スタート
  2. 「コンピュータ」を右クリック
  3. 「プロパティ」をクリック
  4. 「システムの詳細設定」をクリック(左側にある)
  5. UACのダイアログが出るので「続行」をクリック
  6. 「環境変数」をクリック
  7. システム環境変数の「Path」をダブルクリック or Pathを選択した状態で編集ボタンをクリック
  8. 変数値のテキストボックスの先頭に、「<通したいパス>;」を追加する。
    加えるパスの、最後のセミコロンは忘れてはいけません。
    ex) C:\dmd\bin と C:\dm\bin にパスを通したい場合
    C:\dmd\bin;C:\dm\bin;C:\usr\local\bin;%SystemRoot%\system32;%SystemRoot%;
  9. 「OK」をクリックして、システム変数の編集を閉じる
  10. 「OK」をクリックして、環境変数を閉じる
  11. 「OK」をクリックして、システムのプロパティを閉じる
  12. 「OK」をクリックして、システムのウィンドウを閉じる
Page Top

Windows 7 anchor.png[157] Edit [158]

ほとんどWindows Vistaと変わりませんが、UACのプロンプトが出ませんでした。

  1. スタート
  2. 「コンピューター」を右クリック
  3. 「プロパティ」をクリック
  4. 「システムの詳細設定」をクリック(左側にある)
  5. 「環境変数」をクリック
  6. システム環境変数の「Path」をダブルクリック or Pathを選択した状態で編集ボタンをクリック
  7. 変数値のテキストボックスの先頭に、「<通したいパス>;」を追加する。
    加えるパスの、最後のセミコロンは忘れてはいけません。
    ex) C:\dmd\bin と C:\dm\bin にパスを通したい場合
    C:\dmd\bin;C:\dm\bin;C:\usr\local\bin;%SystemRoot%\system32;%SystemRoot%;
  8. 「OK」をクリックして、システム変数の編集を閉じる
  9. 「OK」をクリックして、環境変数を閉じる
  10. 「OK」をクリックして、システムのプロパティを閉じる
  11. 「OK」をクリックして、システムのウィンドウを閉じる
Page Top

Linux anchor.png[159] Edit [160]

情報求む
Page Top

投票とコメント anchor.png[161] Edit [162]

選択肢 投票
大変参考になった4  
参考になった2  
あまり参考にならなかった0  
まったく参考にならなかった0  

コメントはありません。 コメント​/Tools​/DMD編集[163]

お名前:

*1 2011/03/04現在はdmd 2.052
*2 2009/01/16現在はdmd 1.030
*3 2009/04/10現在のTango 0.99.8のバージョンでは、dmd 1.041
*4 別途Tangobosを導入することである程度利用できるようになる。
*5 別途std2を導入することである程度利用出来るようになるかもしれない。
*6 Tango 0.99.7
*7 さもなくばパスは自分で通す必要がある
*8 ...は省略しています。実際にはもっと多くのファイルが存在します。
*9 参考:http://www.kmonos.net/alang/d/1.0/dmd-windows.html

Last-modified: 2014-11-02 (日) 02:01:34 (JST) (1020d) by ゲスト