1 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:09:54 ] プログラミング言語 D について語るスレッドです。 過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource)
720 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:20:44 ] DWTよりDFLが主流?
721 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:52:41 ] Tioportが頑張ってくれれば、DWTが勢いづくんだがな
722 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 00:16:34 ] >>720 ここしばらく放置気味だからなあ>DWT DFLは文字コード周りが適当だったのが多少改善されてきたらしいし。 結構いいんじゃないかなと。 わなDで推奨されてたwxDはマルチプラットフォームは嬉しいんだけどexeがちょっとデブ過ぎませんか。
723 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 00:37:16 ] ひさびさに情勢を除いてみたらTangoとかいうのが本家に喧嘩うってるん? Javaみたいにライブラリが乱造された世界が結構好きなので期待。
724 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:20:47 ] なにをいっているんだ
725 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 01:55:45 ] tangoのソースのなかにはウォルターたん名前も出てきてるぞ。 なんでかしらんけど。
726 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 02:36:45 ] phobosからパクってきたものだろ
727 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 07:25:19 ] DってC#のeventみたいなことをするには、独自くらす作くらなアカン? 言語仕様として似たようなのあるのかな?
728 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 11:02:13 ] 関数1個なら delegate でいいけど、 複数の関数を登録したいなら 独自クラス作る事になるのかな。 なんかライブラリにないのかな?
729 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 11:15:55 ] DFLはC#式のイベントだな。 自分で作っても難しくなさそうなもんだが。
730 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 13:40:11 ] std.signalsを使えない?
731 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:28:40 ] 何気にphobosのObjectの仕様が変わったか……。 tangoの方も同じものが追加されるんだろかね。 というか、コレObjectのstaticメソッドでなく普通の関数じゃ駄目だったのか? ちゅーか、クラス情報てコンパイル後も必ず残るようになってたのか。 メタ情報はビルド時にだけ使われてexe生成後には綺麗さっぱり消えてる、 そんな鮮やかさが好きなのに。
732 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 19:19:07 ] Objectは、GC関連でも結構変わってる。
733 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:45:35 ] tangoとphobosは混在使用できますか?それとも排他使用?
734 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:22:37 ] 少なくとも混在できる設計には 今は なっていないはず
735 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:41:08 ] -version=PhobosCompatibility 試したことは無いんだけど、これじゃだめなの?
736 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:50:15 ] それはphobos互換にするだけなんでは?
737 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 02:06:11 ] ある特定のライブラリと一緒に使えないなんてライブラリとしてちょっと微妙臭い
738 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 08:54:33 ] よくある事だ。
739 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:00:52 ] 置き換え用のライブラリなのに同時に使えてどうすんだよwwwww コアの部分はかぶってるし、Phobosにしかないクラスとかは 個別にコンパイルして使えばいいじゃん
740 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 13:10:11 ] toMBSzの類がtangoに見当たらなくて困る罠。 WideCharToMultyByte直呼びだとWin依存だし、 wcstombsでもwchar_tの扱いとかsetlocale()とか色々メドイし、 ああ自分でやりたくない。
741 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 13:44:30 ] phobosでもtoMBSzはWin32環境にしかないわけだが というかそんな長いもんでもないしコピペしてくればいいじゃん
742 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 16:43:09 ] 何その永続型車輪の再開発
743 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:02:15 ] ヌ? Tangoって日本語おkじゃないの
744 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:33:03 ] ググってたら、いいもの見つけた tango用phobosが入っていた最後のリビジョン www.dsource.org/projects/tango/browser/trunk?rev=1236 ページ下部にある Zip Archive のリンクからダウンロードできる。 ソースは少し古いので、多少修正が必要。 中のphobosフォルダを配置して、そのlibを作成したら、 tangoとphobosの混在使用できました。(Win32)
745 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:37:29 ] C99 vs D
746 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:43:30 ] dflってイベント関係どうなってるんでしょうか。 click ~= delegate(Object sender, EventArgs ea) { msgBox("befu"); }; 無反応です。 wndProckとかオーバーライドしてやれという事ですか。
747 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:51:56 ] うーぬ、 ListViewだけか。 なんでだろう。
748 名前:デフォルトの名無しさん [2007/03/31(土) 22:49:35 ] ちょっと質問しさせてください。 char[]->char*は.ptr渡せばいいみたいなんですが、 char*->char[]の方法がわかりません。 cast(char[])とやってもキャストできんと言われてしまうんですが、 どうすればいいんでしょうか。
749 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:53:25 ] >>748 >char[]->char*は.ptr渡せばいいみたいなんですが、 よくない。std.string.toStringz使うべき。 >cast(char[])とやってもキャストできんと言われてしまうんですが、どうすればいいんでしょうか。 std.string.toString
750 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 00:52:24 ] おお。 ありがとうございます。
751 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 15:02:46 ] Tangoのドキュメント作ってみた(英語) ttp://up.uppple.com/src/up2852.zip 詳しくは同梱のreadme読んでね
752 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:24:31 ] >748 お節介かもしれないけどCの文字列とDの文字列は全然違うものだよ。
753 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 09:48:47 ] Dでキャスト多用するのって格好悪いですか?
754 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 15:25:53 ] そんなのプログラムによって違う
755 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 23:46:37 ] AllegroがDでできるようになったら使う
756 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 00:54:47 ] ご自由に
757 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 21:48:34 ] www.kmonos.net/alang/wnd/topics/flectioned.ja.html > (標準で添付されているphobos.libは-gなしでコンパイルされているため、 > 実はうまくリフレクションが効きません。phobosを-gつきで > コンパイルし直すのが推奨されています。) phobosを-g付きでコンパイルする方法をどなたかまとめてもらえませんか?
758 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 22:53:08 ] makeでDFLAGSに-g指定すりゃ済むだけの話じゃないの?
759 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:34:21 ] >>757 以前、俺も少し戸惑ったよ。 その時のメモより… dmd/src/phobos/ にある、 .MAKファイルをテキストエディタで開く。 DMD=\dmd\bin\dmd CC=dmc などとある行の、各コンパイラのパスを、自分の環境に合うよう書き換える。 DFLAGS=-O -release -nofloat -w とある行に、-g を書き加える。 編集が終わったら保存して閉じる。 dmd/src/phobos/minit.obj のファイル更新日時を、 dmd/src/phobos/internal/minit.asm よりも新しくしておく。(アセンブルにはmasmが必要!?) dmd/src/phobos/ をカレントフォルダにしてから、makeを実行 例: make phobos.lib -f win32.mak しばらくすると、カレントフォルダに phobos.lib が作成されるはず。それをlibフォルダへ入れる。 dmd/src/phobos/ に作成された大量のオブジェクトファイルは不要なので削除していい。 だけど minit.obj だけは、今後のmakeの為に残して置く。
760 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:42:44 ] thx 後でやってみる
761 名前:759 mailto:sage [2007/04/04(水) 23:44:32 ] 補足 「ファイル更新日時を新しく・・・」は、更新日時を書き換えるツールなどで行います。 これは、アセンブルを回避したいためです。
762 名前:デフォルトの名無しさん [2007/04/05(木) 00:03:53 ] Descent を入れたのですが、他にもコンパイラーを入れる必要があるでしょうか? どうにも、コードのエラーチェックはしてくれるのですが、コンパイルされないし、 そもそも構成及び実行でも、Dらしきものが出てきません。 Eclipse3.2 なのですが、それがまずいのでしょうか?
763 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 00:07:29 ] >>761 cygwin 入れてるんで touch minit.obj した > dmd/src/phobos/ にある、 .MAKファイルをテキストエディタで開く。 いじった .mak ファイルは2つ dmd\src\phobos\win32.mak dmd\src\phobos\internal\gc\win32.mak さて phobos.lib はできたがちゃんと使えるかな?
764 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 00:14:18 ] www.kmonos.net/alang/wnd/topics/flectioned.ja.html これのサンプルを実行してみたが >hello Error: ArrayBoundsError hello(10) としか表示されないな・・・再コンパイル前と状況は変わらないようだ 何が悪いのでしょうか?
765 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 08:12:30 ] D Frameworkってのを落として中身覗いてみたら グリッドついてるしW系APIメインで使われてるし これは使えるのかなと思ったら1年以上更新されてないのね><
766 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:16:49 ] チミが続きをやればいいのだよ
767 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:18:09 ] リンクplz
768 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:54:49 ] >>764 D 1.010で >> Bugzilla 64: Unhandled errors should go to stderr ていう変更が入ったせい。 flectionedはException.printを置き換えて表示を変更してるんだけど、 DMDがException.printじゃなくてException.toStringを使うようになた。
769 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 14:55:08 ] >>768 まだ最新版には対応してなかったのか 残念
770 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 18:56:59 ] >>769 DMDの仕様変更が活発である限り常にそう
771 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 19:04:02 ] main.def(2) : Error 112: SUBSYSTEM Directive SUBSYSTEM CONSOLE,4.0 ^ main.def(2) : Error 52: .DEF Syntax Error SUBSYSTEM CONSOLE,4.0 これは一体何のエラーでしょうか。
772 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 19:43:49 ] >>770 まあね 丁度 flectioned を使おうと思ったタイミングで それが使えなくなるような変更があったなんて 運悪すぎだろ常識的に考えてとかおもて 早く更新されないかなー
773 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 20:11:41 ] 乗り遅れるの覚悟でバージョン下げればいいじゃくぁwせdrftgyふじこlp;
774 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 17:14:54 ] >>773 DMDの仕様変更が活発である限りそれはやめたほうがいい
775 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 17:16:29 ] void tester(float[2] bad, float[] good) { assert (&good[1] - &good[0] == 1); // ok assert (&bad[1] - &bad[0] == 1); // !!!!!?????? if (bad.ptr == good.ptr) // 静的配列ってポインタ渡しだっけ? { assert (&bad[0] == &good[0]); // ok assert (&bad[1] == &good[1]); // !!!!!?????? } } void main() { float[2] test; tester(test, test); } なぜだ……
776 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 19:27:45 ] 仕様にないことやろうとしてねえ?
777 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 19:29:17 ] >>775 www.kmonos.net/alang/d/abi.html >静的な配列を関数へ渡すと、例え静的な配列として宣言されていても、 >結果は実際には静的配列への参照となります。 ということで、静的配列は参照渡しされますね。
778 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 21:00:40 ] >>775 適当に試してみたけど assertが失敗するのはdmdのバグっぽいから適当に報告するのが吉。
779 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 20:50:26 ] dflのツリービュー、+-の所しかマウスクリック判定しやがらん。 英語の達者な誰か報告したって。
780 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 23:00:43 ] >>779 テストめんどいから最小の再現コード張って
781 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 20:48:38 ] private import dfl.all; class MyForm: dfl.form.Form {dfl.treeview.TreeView treeView1; this() { text = "My Form"; clientSize = dfl.drawing.Size(240, 245); treeView1 = new dfl.treeview.TreeView(); treeView1.name = "treeView1"; treeView1.bounds = dfl.base.Rect(0, 0, 232, 228); treeView1.parent = this; TreeNode tn = new TreeNode("hoge"); tn.nodes.add("omg"); treeView1.nodes.add(tn); treeView1.click ~= &testClick; treeView1.doubleClick ~= &testClick; } void testClick(Object sender, EventArgs e) { msgBox("piko-n"); } } int main() { Application.run(new MyForm()); return 0; } 他のダブルクリックとかは何やっても正常。 HitTestですらラベル無視なんだけど、なんでだろう。
782 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 21:00:15 ] ちなみにイメージリスト作ってビットマップ置いて ダブルクリックイベントでHitTestするとすべて正常。 やっぱりクリックだけぽい。
783 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 00:44:28 ] std.c.stdioにfilemode関数があるんですが、 これを呼び出すと Symbol Undefined _filemode と出てリンクができなくなってしまいます。 何かコンパイルオプションをつける、環境変数を指定する等しなければならないことがあるのでしょうか。 それともDMDのバージョンが古い(1.005)のが原因なのでしょうか。
784 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 00:55:00 ] >>783 うちの std.c.stdio にはないけど?(dmd1.010)
785 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 01:05:30 ] >>781 確かに click は + - でしか反応しないけど afterSelect / beforeSelect を使えばいいのでは?
786 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 04:06:04 ] bud を導入して実行してみたらsc.iniが見つからないと言われました。 bud.exe とソースコードをdmd.exeと同じフォルダに入れたら成功したので 環境変数の問題だと思うのですが、どうすればいいのでしょうか。 Error: bud:Unable to find Config File 'sc.ini' in [.\,,C:\Documents and Settings\ユーザ名,C:\作業フォルダ\]
787 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 05:43:48 ] >>784 すいません。間違えました。 filenoでした。 extern(C) int fileno(int); とかやってもだめでした。
788 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 05:48:57 ] fileno()は大抵マクロ 非標準だし
789 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 06:15:47 ] じゃあDで標準入力をバイナリモードで開きたい時はどうすればいいのですか?
790 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 07:36:26 ] さあ。phobosにはそんな概念ないからの。
791 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 12:04:17 ] どうせ構造体の中の変数1つ拾ってるだけだろうから、 そういうインライン関数作っちゃえ。
792 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 14:01:38 ] version(Win32) stdout._flag |= _F_BIN; としても効かんな。なんでだろ
793 名前:783 mailto:sage [2007/04/10(火) 16:03:35 ] とりあえずDMCのstdio.hをのぞいてみると、filenoで参照しているのは構造体の_fileメンバだたt。 といわけでこんなプログラムを書いてみた。 import std.c.stdio; version(Windows) extern(C) int setmode(int, int); char[] readStdIn(ulong size) { char[] buf; char c; version(Windows) { int O_BINARY = 0x8000; setmode(stdin._file, O_BINARY); } while(buf.length < size && (c = getchar) != EOF) buf ~= c; return buf; } void main() { char[] str = readStdIn(500000); FILE* fp = fopen("output.jpg", "wb"); fwrite(str.ptr, str.length, 1, fp); fclose(fp); } test.exe < input.jpg とやってみても壊れたファイルしか出力されませんでした。 テキストを入力して実験した結果、バイナリモードに切り替わっていないようです。 同じようなCのプログラムを書いてみたところ、 BCCならきちんとバイナリモードになっていましたが、DMCはテキストモードのままでした。 どうやらDMCのバグか仕様の予感です。
794 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:12:57 ] Cライブラリの問題な気が
795 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:22:51 ] そもそも標準入出力がテキスト以外を扱うように出来てるかが問題だな。
796 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:44:24 ] つまり解決策無し?
797 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:51:53 ] phobosをコンパイルしなおせばいけるんじゃないか?
798 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 17:02:34 ] >>793 で試したCのプログラムがちゃんと動くようなCライブラリとリンクしてやれば、うまくいきそうな気がするなあ。
799 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 21:49:11 ] つまりまだニヤニヤする以外の目的で使うなって琴田。
800 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 00:15:02 ] そうでもないか
801 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 02:34:20 ] import std.cstream, std.c.windows.windows, std.stream; extern (Windows) HANDLE GetStdHandle(DWORD nStdHandle); const STD_INPUT_HANDLE = -10; const STD_OUTPUT_HANDLE = -11; void main() { auto din2 = new File(GetStdHandle(STD_INPUT_HANDLE), FileMode.In); auto dout2 = new File(GetStdHandle(STD_OUTPUT_HANDLE), FileMode.Out); auto buffer = new ubyte[256]; while (true) { auto len = din2.read(buffer); if (len == 0) break; dout2.write(buffer[0..len]); } } こうか?
802 名前:783 mailto:sage [2007/04/11(水) 08:03:20 ] >>801 あ、できた。 つまり標準入力をバイナリモードで得たければOSのAPIを叩けということなんですね。 ありがとうございました。
803 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 09:20:55 ] D言語はあんまりわからんけどC/C++ @Win32 なら freopen("CON","rb",stdin); でいけるからこれでいいんじゃね?
804 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:43:55 ] D言語っていつのまにやら、Version1.0になってたんだね。 1.0越えたら手を付けてみようと思ってたんで、今後このスレにはお世話になると思います。 よろしくお願い
805 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:45:28 ] 名前だけ 1.0 になったけど、 今までと変わらず仕様変更してます。 どう見ても名前だけです。 本当にありがとうございました。
806 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 22:53:44 ] 1.010で-v付けても1.0互換じゃなくなっちまったしなw
807 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:02:34 ] >>806 -v1 が1.0互換で、 -v はverboseなんじゃないの?
808 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:07:31 ] 1.*って以上の意味はないんだろうな…
809 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:09:52 ] >>807 すまんそのとおり
810 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:04:09 ] >>803 標準入力とCONでは意味が違う。 リダイレクトやパイプ越しのケースがあるからな。 Cランタイムライブラリに依存せず標準入力から読み出したければ GetStdHandle(STD_INPUT_HANDLE)でハンドル取ってきて ReadFile() これでいい。
811 名前:デフォルトの名無しさん [2007/04/12(木) 07:44:57 ] D言語関連の和書って、まだなにもないんだっけ?
812 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 07:48:56 ] ググったらパーフェクトガイドとかってのがでてきたけど、古い上に売れ切れてるし。
813 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:01:35 ] >>812 むっちゃ古い k.inabaさん以外全部沈没
814 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:05:18 ] コンパイラが0.106とかの時代だからまだ新しい方じゃない?
815 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:16:10 ] inabaタンが、頑張ってくれてるみたいだから一括ダウンロードしてみたけど これ壊れてない? 目次だけで内容が見れないんだけど。 vista で見てるからかなぁ?
816 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:57:09 ] 新しいキーワードのmacroってなに?
817 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 12:41:12 ] For the future (unimplemented) AST macro feature.
818 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:29:12 ] >>815 ttp://support.microsoft.com/kb/902225/ → 方法2
819 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:55:14 ] What's New for D 1.011 Apr 11, 2007 New/Changed Features Extended Codeview symbolic debug output with LF_OEM types. Extended Dwarf symbolic debug output with DW_TAG_darray_type, DW_TAG_aarray_type, and DW_TAG_delegate types. Added keywords ref and macro. final classes cannot be subclassed. final for variables now works. ref now works as a replacement for inout. Fixed so multiple type inferring declarations like auto a=1,c=2; works. Bugs Fixed Fixed problem with overloading of function templates that have the same template parameter list, but different function parameters. Fixed problems with type deduction from specializations that are template instances. Fixed assert template.c(2956) s->parent Got .property to work for typeof. Fixed bug in DW_AT_comp_dir output for some linux versions. D.announce/8027 D.announce/8047 D/51800 Bugzilla 1028: Segfault using tuple inside asm code. Bugzilla 1052: DMD 1.009 - aliasing functions from superclasses may result in incorrect conflicts Bugzilla 1080: Failed to link to std.windows.registry Bugzilla 1081: with using real and -O option, dmd generate bug code Bugzilla 1082: The .offsetof property yields a signed int, a size_t would be more appropriate Bugzilla 1086: CodeView: missing line information for string switch Bugzilla 1092: compiler crash in ..\ztc\cod1.c 2528 Bugzilla 1102: switch case couldn't contain template member Bugzilla 1108: Indexing an int[] not evaluatable at compile time Bugzilla 1122: dmd generate bad line number while reporting error message
820 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:02:31 ] 今になってrefを導入してくるか……っ! 「inoutはrefに置き換えるかもしれません」って確かに言ってたけど!