Cur: 2009-04-22 (Wed) 04:25:26 SHOO source Edit
Line 1: Line 1:
 +TITLE:実行ファイルを作る
 +*全体的な流れ [#l72bd1ff]
 ++[[プログラムの記述>#hello_world]]
 ++[[コンパイル>#compile]]
 ++[[実行(テスト)>#exec]]
 +*Hello, worldプログラム&aname(hello_world); [#w88e4e27]
 +それぞれのライブラリを使った場合でHello, worldプログラムを書いてみた。
 +それぞれ、main.dファイルとして、UTF-8で保存する。BOMはあってもなくても良いが、BOMがない場合、ASCII文字しか含まない場合テキストエディタがShift_JISとして認識してしまう可能性が高いため、BOMをつけておいたほうがいいかもしれない。
 +-[[Phobos(D2.0)の場合>#hello_world_phobos]]
 +-[[Tangoの場合>#hello_world_tango]]
 +-[[DFLの場合>#hello_world_dfl]]
 +-[[DWTの場合>#hello_world_dwt]]
 +**Phobos(D2.0)の場合&aname(hello_world_phobos); [#sf9a5f86]
 +#code(d){{{
 +import std.stdio;
 +int main(string[] args)
 +{
 +   writefln("Hello, world!");
 +   return 0;
 +}
 +}}}
 +この場合、[[コンパイルはdmdで行う>#compile_dmd]]のが妥当
 +**Tangoの場合&aname(hello_world_tango); [#t8374e27]
 +#code(d){{{
 +import tango.io.Stdout;
 +int main(char[][] args)
 +{
 +   Stdout("Hello, world!").newline;
 +   return 0;
 +}
 +}}}
 +この場合、[[コンパイルはdmdで行う>#compile_dmd]]のが妥当
 +**DFLの場合&aname(hello_world_dfl); [#i701ae4d]
 +#code(d){{{
 +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で行う>#compile_dmd]]方法もあるが、
 +[[dsssでコンパイルを行う>#compile_dsss]]とスタティックリンクライブラリのリンクを考えなくて良いので楽である。
 +**DWTの場合&aname(hello_world_dwt); [#rdd3dda3]
 +#code(d){{{
 +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で行う>#compile_dmd]]方法もあるが、
 +[[dsssでコンパイルを行う>#compile_dsss]]とスタティックリンクライブラリのリンクを考えなくて良いので楽だが、DWTをdsssでコンパイルする場合、コンパイルにかなりの時間がかかる。
 +[[レスポンスファイルを利用する>#compile_response]]のが良いかもしれない。
 +
 +
 +* コンパイル&aname(compile); [#ib7b0055]
 +コンパイラの構成によって異なる。
 +-[[dmd>#compile_dmd]]
 +-[[dmd+レスポンスファイル>#compile_dmd-response]]
 +-[[dsss>#compile_dsss]]
 +-[[descent+ant>#compile_descent-ant]]
 +
 +** dmd&aname(compile_dmd); [#k752ca2f]
 +コマンドライン上で以下のようなコマンドを実行する。ただし、dmdにパスが通っている必要がある。また、コンパイルするファイルはmain.dファイルとする。
 +#code(console){{{
 +dmd main.d
 +}}}
 +上記コマンドラインでコンパイル・リンクが行われ、mainという名前の実行ファイルが生成される。
 +
 +** dmd+レスポンスファイル&aname(compile_dmd-response); [#lf6892c2]
 +|情報求む|
 +
 +** dsss&aname(compile_dsss); [#d5a84731]
 +|情報求む|
 +
 +** Descent+Ant&aname(compile_descent-ant); [#fd75b909]
 +|情報求む|
 +
 +* 投票とコメント [#b19f88ce]
 +#vote(大変参考になった,参考になった,あまり参考にならなかった,まったく参考にならなかった,#notimestamp)
 +#pcomment
  

  • Backup diff of HowTo/実行ファイルを作る(No. All)
    • Cur: 2009-04-22 (Wed) 04:25:26 SHOO

Front page   Edit Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1435, today: 1, yesterday: 0
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu