Back to page

− Links

 Print 

HowTo​/実行ファイルを作る :: D言語友の会

wiki:HowTo/実行ファイルを作る

Table of contents
  • 全体的な流れ
  • Hello, worldプログラム
    • Phobos(D2.0)の場合
    • Tangoの場合
    • DFLの場合
    • DWTの場合
  • コンパイル
    • dmd
    • dmd+レスポンスファイル
    • dsss
    • Descent+Ant
  • 投票とコメント

全体的な流れ anchor.png[1] Edit [2]

  1. プログラムの記述
  2. コンパイル
  3. 実行(テスト)
Page Top

Hello, worldプログラム anchor.png Edit [3]

それぞれのライブラリを使った場合でHello, worldプログラムを書いてみた。 それぞれ、main.dファイルとして、UTF-8で保存する。BOMはあってもなくても良いが、BOMがない場合、ASCII文字しか含まない場合テキストエディタがShift_JISとして認識してしまう可能性が高いため、BOMをつけておいたほうがいいかもしれない。

  • Phobos(D2.0)の場合
  • Tangoの場合
  • DFLの場合
  • DWTの場合
Page Top

Phobos(D2.0)の場合 anchor.png Edit [4]

Everything is expanded.Everything is shortened.
1
2
3
4
5
6
 
 
-
|
|
!
import std.stdio;
int main(string[] args)
{
    writefln("Hello, world!");
    return 0;
}

この場合、コンパイルはdmdで行うのが妥当

Page Top

Tangoの場合 anchor.png Edit [5]

Everything is expanded.Everything is shortened.
1
2
3
4
5
6
 
 
-
|
|
!
import tango.io.Stdout;
int main(char[][] args)
{
    Stdout("Hello, world!").newline;
    return 0;
}

この場合、コンパイルはdmdで行うのが妥当

Page Top

DFLの場合 anchor.png Edit [6]

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
 
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
import dfl.all;
 
int main(char[][] args)
{
    Form myForm;
    Label myLabel;
    
    myForm = new Form;
    myForm.text = "DFL Example";
    
    myLabel = new Label;
    myLabel.font = new Font("Verdana", 14f);
    myLabel.text = "Hello, world!";
    myLabel.location = Point(15, 15);
    myLabel.autoSize = true;
    myLabel.parent = myForm;
    
    Application.run(myForm);
    
    return 0;
}

この場合、コンパイルはdmdで行う方法もあるが、 dsssでコンパイルを行うとスタティックリンクライブラリのリンクを考えなくて良いので楽である。

Page Top

DWTの場合 anchor.png Edit [7]

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 
 
 
 
 
 
-
|
|
|
|
|
|
|
-
|
!
|
!
import dwt.DWT;
import dwt.widgets.Display;
import dwt.widgets.Label;
import dwt.widgets.Shell;
 
void main()
{
    Display display = new Display();
    Shell shell = new Shell(display);
    Label label = new Label(shell, DWT.CENTER);
    label.setText("Hello, world!");
    label.setBounds(shell.getClientArea());
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch()) display.sleep();
    }
    display.dispose();
}

この場合、コンパイルはdmdで行う方法もあるが、 dsssでコンパイルを行うとスタティックリンクライブラリのリンクを考えなくて良いので楽だが、DWTをdsssでコンパイルする場合、コンパイルにかなりの時間がかかる。 レスポンスファイルを利用するのが良いかもしれない。

Page Top

コンパイル anchor.png Edit [8]

コンパイラの構成によって異なる。

  • dmd
  • dmd+レスポンスファイル
  • dsss
  • descent+ant
Page Top

dmd anchor.png Edit [9]

コマンドライン上で以下のようなコマンドを実行する。ただし、dmdにパスが通っている必要がある。また、コンパイルするファイルはmain.dファイルとする。

1
dmd main.d

上記コマンドラインでコンパイル・リンクが行われ、mainという名前の実行ファイルが生成される。

Page Top

dmd+レスポンスファイル anchor.png Edit [10]

情報求む
Page Top

dsss anchor.png Edit [11]

情報求む
Page Top

Descent+Ant anchor.png Edit [12]

情報求む
Page Top

投票とコメント anchor.png[13] Edit [14]

Choices Vote
大変参考になった0  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/HowTo​/実行ファイルを作るEdit[15]

Name:

Last-modified: 2009-04-22 (Wed) 04:25:26 (JST) (4659d) by SHOO