- 1 名前:デフォルトの名無しさん [2008/02/10(日) 15:06:12 ]
- プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレは >>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) ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語) ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) ■ IDE ttp://dronten.googlepages.com/dscite (DSciTE) ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks) ttp://www.dprogramming.com/entice.php (Entice Designer) ttp://www.dsource.org/projects/descent (Descent) ttp://www.dsource.org/projects/poseidon (Poseidon)
- 641 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 14:19:37 ]
- ちょっと大きめ(最大60MB位)のデータを扱うようなウインドウプログラムを組んだんだけど、
処理するたびに仮想メモリを開放せずに食いつぶすんだがどうにかする手法はないかな。 このままだと他のアプリケーションのメモリをスワップアウトさせてしまう。 タスクマネージャで見てみるとメモリ使用量はウインドウを最小化させると減るみたいなんだけど、 仮想メモリは握ったまま。200MBとかしゃれにならん。 GCの挙動も良くわからないし…。
- 642 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 14:31:57 ]
- std.c.stdlib.mallocで管理しきれるならそれでどう?
下記の解説の「明示的なクラスインスタンス割り当て」の項参照 ttp://www.kmonos.net/alang/d/2.0/memory.html
- 643 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 15:11:12 ]
- >>641
>タスクマネージャで見てみるとメモリ使用量はウインドウを最小化させると減るみたいなんだけど、 それページアウトしてるだけだよ。実際には減ってない。
- 644 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 15:32:15 ]
- >>641
ヤマカンでどこら辺があやしと思う? GC?ライブラリ?自前?
- 645 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:21:28 ]
- 現在の実装では、GCが確保した領域は解放されないとか、誰か書いてた覚えがある。
- 646 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:37:32 ]
- >>641
TangoのGC使うとちょっとはマシになるかも(minimize実装されてる)。 phobosのGCの実装はプログラム終了時以外に確保したメモリを返却しない。
- 647 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:50:22 ]
- >>645
>>646 ということはGCあってもfreeしろってことか。 freeつうかdelete
- 648 名前:647 [2008/03/09(日) 17:21:28 ]
- つまり、Dの場合はリトルエンディアン(パソコンでプログラムを使う際に使用される16進数の形式のネイティブWinAPI関数)は
静的(ガベージコレクタによって関数がオーバーロードされ変数のスコープからはずれたりするのを防ぐコア関数) なデストラクタ(使い終わったオブジェクトをユーザーからのイベントパンドラ無しにイベント駆動型のラムダ式) として扱われると言うこと。 uint* uiにするとβ変換(変数をグローバルなスコープから外し新しいシステム型変数として使うための変換) が正常に行えなくなるのでfile*uint[ui]にしておいたほうがいいということ
- 649 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:21:46 ]
- >>647
違う
- 650 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:35:34 ]
- >>647
解放する手段は無いってこと。
- 651 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:49:23 ]
- つまりサブプロセスを立ち上げて不要になったら殺すしかいないと。
- 652 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:01:55 ]
- >>647
プロセスとして確保した領域を解放する話と、 各オブジェクトに使っていた領域を解放する話が マゼコゼになってるぞ。
- 653 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:06:56 ]
- >>652
ごめん、あまり読まずにレスしてた。 穴があったら埋まりたい・・・
- 654 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:16:51 ]
- みんなスルーしててワロス
- 655 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:00:46 ]
- 自分で開放するにはmalloc&freeしかないってことでおk?
- 656 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:21:27 ]
- レスどうも。
>>643 そうだったんですか。 最小化されるとページアウトさせるのはOSですよね。 >>644 疑おうと思えば全部と言えます。 ただ、自動で回収されるとなってる以上、malloc,freeを使わなきゃいけないのもおかしい気が。。。 >>645-646 以前同じようなことを聞いたときも同じような回答でした。 確かstd.gcの話だったと思います。 minimizeが動かないと言う結論でした。 >>655 mallocでメモリを確保することは出来ても、freeで開放されません。
- 657 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:22:56 ]
- リリースビルドしてる?
解放されてると思うんだけど
- 658 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:23:13 ]
- いや、freeは解放されるだろ。GC関係ないんだから。
- 659 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:25:26 ]
- メモリが解放されないって事はD言語で作られてるゲームとかどうなってるんだろう
- 660 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:29:52 ]
- import std.stdio; import std.c.stdlib;
void main(){ writef("malloc "); void* p = malloc(104857600); writef("ok"); readln(stdin); writef("free "); free(p); writef("ok"); readln(stdin); } #include <stdlib.h> #include <stdio.h> void main(){ void* p; printf("malloc"); p = malloc(104857600); printf(" ok\n"); getch(); printf("free"); free(p); printf(" ok\n"); getch(); } こんな感じで試してみました。 Cのほうはもちろん開放されましたが、 Dの方は開放されませんでした。
- 661 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:32:24 ]
- >>657
dmd -release main これで良いんでしょうか? freeでは開放されませんでした。GCの方はまだ試してません。 DMDのパージョンは1.028です。
- 662 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:33:47 ]
- Dのmalloc&freeはプロセスとしてOSからmalloc&freeしているのではなくて、
Dのプロセスが一括してmallocしてきたメモリプールから小分けしているだけでは。 だからプロセスとしては使用メモリは増加する一方。minimizeしないから。
- 663 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:45:37 ]
- んー、卒研のプログラム書いた時は
newとdeleteでメモリ開放されてた気がするなぁ。 少なくとも増え続けることはなかった。 @Linuxだけど。
- 664 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:52:22 ]
- 卒研でD言語か・・・無茶しやがって(AA略
- 665 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:15:03 ]
- メモリの解放をどのような意味で使ってるかよくわからない
- 666 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:19:50 ]
- ガベコレだよ?
- 667 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:29:25 ]
- GCは必要なメモリをOSから確保するが、必要のなくなったメモリをOSに解放することはしていない。
- 668 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:31:29 ]
- C#やC++/CLIと同じ様にOSの提供するメモリ管理機能にメモリ管理を任せてるだけ
- 669 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:41:44 ]
- 「メモリの解放」 は何を意味するか
1. デストラクタが呼ばれる。 2. 内部的に free の処理が走る。 3. free したメモリが実際に OS に返される。
- 670 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:43:07 ]
- 襲いかかる(笑)
- 671 名前:670 mailto:sage [2008/03/09(日) 23:43:29 ]
- ごめん誤爆
- 672 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:43:55 ]
- 4. 襲いかかる
- 673 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 23:48:17 ]
- std.c.stdlib.mallocはCのラインタイムライブラリとリンクされるから、
おそらくfreeした領域は可能であれば適当な時期にOSに返還されるはず。 std.gc.mallocはGCの管理領域から割り当てられるから、 phobosの実装だと、freeしても永久にプールされつづける、と思う。 >>663 deleteした領域は、空き領域としてプールされて再利用されるから、 new/deleteの繰り返しで増え続けることはないよ。
- 674 名前:637 mailto:sage [2008/03/10(月) 00:02:51 ]
- ちょっと付け足しとくと、
> おそらくfreeした領域は可能であれば適当な時期にOSに返還されるはず。 って書いたけど、Windows版DMDの場合は、DMCのsnn.libを使って、 linux版やGDCはglibcを使うと思うから、そこで実装の差が出てくる可能性はある。
- 675 名前:デフォルトの名無しさん [2008/03/10(月) 00:33:17 ]
- 僕のブログ見てほしいんですけど
o.z-z.jp/thbbs.cgi?id=sasanunu&p3=&th=541
- 676 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 00:33:49 ]
- すぐ返還
import std.stdio, std.loader; void main() { scope ExeModule msvcrt = new ExeModule("msvcrt.dll"); extern(C) void* function(size_t) malloc; extern(C) void function(void*) free; malloc = cast(typeof(malloc)) msvcrt.getSymbol("malloc"); free = cast(typeof(free)) msvcrt.getSymbol("free"); writef("malloc "); int size = 32*1024*1024; ubyte* p = cast(ubyte*)malloc(size); for( int i = 0; i < size; i++ ) p[i] = 0; writef("ok"); readln(stdin); writef("free "); free(p); writef("ok"); readln(stdin); }
- 677 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:27:12 ]
- >>675は危険
- 678 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:12:20 ]
- D言語終了のお知らせ
- 679 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:19:48 ]
- どのD言語?
- 680 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:20:56 ]
- ばかやろう、まだはじまってもいねぇよ
- 681 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:22:46 ]
- さっさと開始してくれ
- 682 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:24:28 ]
- 3.0になったら始動する
- 683 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 03:33:37 ]
- 型が同じ連想配列の結合ってできないの?
- 684 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 09:53:38 ]
- できないね。
キーが重複した場合に左右オペランドのどっちを優先するかって問題があるし、 自分で実装したほうが安心なんじゃない? K[V] merge(K, V)(K[V] a, K[V] b) { K[V] c; foreach(k, v; a) c[k] = v; foreach(k, v; b) c[k] = v; return c; }
- 685 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 09:55:18 ]
- AAに.dupがなかったことに今更きづいた
- 686 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 10:03:03 ]
- dup欲しいよねdup
- 687 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 17:49:06 ]
- tangoでsprintfみたいな文字列の整形が出来るのはどの関数ですか?
- 688 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 18:26:39 ]
- >>687
tango.text.convert.Sprint かな??
- 689 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 18:51:28 ]
- >>688
どうもです。C#の文章整形というものははじめて見ましたが、結構使えそうですね。 phobosに比べてclassいっぱい日本語資料ほとんどなしで、 英語の資料もあるには有るけどなれない言語なので情報にたどり着くのが大変です。
- 690 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:36:00 ]
- Tangoはクラス名と関数名だけでだいたい何をするかわかるから、慣れればかなり楽だよ。
細かい挙動は英語読まなきゃいけないけど。 ただ、opCallのオーバーロードがキモイ。それだけ。
- 691 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:42:33 ]
- Tango 0.99.5
ttp://dsource.org/projects/tango/wiki/0_99_5_release
- 692 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:43:55 ]
- tangoのopCallは本当に不人気だな
- 693 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 02:29:18 ]
- 俺の中ではあれのせいでかなり印章悪いけど他は割と強いのかなあ
- 694 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 03:20:02 ]
- そろそろgdcも新しいの出して欲しい
- 695 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 04:35:54 ]
- sf.netのSVNリポジトリからチェックアウトすればいいんじゃね?
今どうなってるのかは俺は知らんが
- 696 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:28:44 ]
- >>694
Subversionリポジトリの方では、1.024と2.008に追従する更新が 9日に来たばかりですね。 lists.puremagic.com/pipermail/d.gnu/2008-March/001474.html
- 697 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:38:12 ]
- あまり使わないんで気が付かなかったけど
Tangoだとphobosと違ってmainへの一個目の引数がフルパスにならないんだな。 呼び出しに使ったコマンドそのものになる。 たとえばコマンドプロンプトで tango使ってdmdでコンパイルしたmain.exeのあるディレクトリをカレントにして mainと入力して実行すると、第一引数が"main"になる。 windows上での話だけど。
- 698 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:58:47 ]
- TangoはGetCommandLineWで取ってるけど、
phobosはCのargvをそのまま使ってるね。 ということは、phobosはマルチバイト文字でおかしくなる可能性があるのかも。
- 699 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:13:56 ]
- その辺はガイシュツ
- 700 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:07:06 ]
- import tango.io.Console;
import tango.core.Memory; void main(){ GC gc; Cout("malloc").newline; Cin.copyln; void* p = gc.malloc(104857600); Cout("free").newline; Cin.copyln; gc.free(p); Cout("finish").newline; Cin.copyln; } TangoだとGCがしっかり動いてると言うので書いてみた。 やっぱりと言うかなんと言うか、仮想メモリはTangoでも開放されないな。 Cのmallocとは等価じゃないってことか。 Win32API使ってphobosのstd.file.readのような関数を作って30MB位のファイルを読み込んで それに一文字半角スペースを~で足してscope char[]に読み込みcollectとminimizeをやると言うループを作って Cout.copylnでウエイトを入れながらまわしてみたけど260MBまで遠慮なくメモリを使うぜ。 多分これが効率的だからそうなってるんだろうけど、collectやminimize使っても制御が出来ないのはなぁ。
- 701 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:28:12 ]
- どっちのGCもcompaction機能もってないし、
GC周りはどうにかしないといけないよなあ。
- 702 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 00:11:06 ]
- リンカがGCライブラリを切り替えられるようにすればいい。
- 703 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 00:40:03 ]
- >>700
はずしてるかもだけど、この辺の話? ttp://d.hatena.ne.jp/NyaRuRu/20080306/p1 ちょっと前に読んだなぁって、思い出した。
- 704 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 00:43:28 ]
- Windowsのdmcも、即OSに返還されないね。orz
#include <stdlib.h> #include <stdio.h> #include <string.h> void main(){ printf("malloc"); void* p = malloc(104857600); memset( p, 0, 104857600 ); printf(" ok\n"); getch(); printf("free"); free(p); printf(" ok\n"); getch(); }
- 705 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 00:52:06 ]
- >>704
てか原因はそこじゃないかな?
- 706 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 00:59:57 ]
- タスクマネージャのプロセス一覧で見えるメモリ消費量は、
そのプロセスが使ってるメモリ領域を正確に表示した物じゃないらしいので、 freeしたら即減るかっつーとそう言うもんでもないようです。 あとDのメモリ管理ってメモリプールみたいな感じで一度メモリ領域拡張されると縮小されにくい物なんじゃ?
- 707 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 01:05:52 ]
- >>704
www2s.biglobe.ne.jp/~hig/q_a/Programing_QA02.html#Q4
- 708 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 01:11:25 ]
- なあんだ、結局Dのnew&deleteとほぼ同じかもしれないってことかー
- 709 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 02:10:28 ]
- >707
ほぉ〜勉強になったさんくす
- 710 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 07:31:22 ]
- >>706
VCのclやgccだとfreeですぐに減ってるので、多分2段落目のとおりだと思う。 これも実装の違いなんだろう。 結局、Cみたいにある程度管理しながらうまいことメモリを使わないといけないのは変わらないわけかな。
- 711 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 09:18:41 ]
- ガベージコレクタのおかげで、うっかりdelete忘れてプロセス起動中に延々と
メモリを圧迫し続ける心配がないっていう程度ですかねえ。
- 712 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 09:50:29 ]
- 基本的にはDでメモリをOSには返せないってこと?
VC++だかgccだかでDLL作ってそっちのmalloc/free使えばいいのか。
- 713 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:00:05 ]
- 自前でHeapAllocすればいいんじゃ
- 714 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 13:26:29 ]
- 返還する目処のある処理を別プロセスにすりゃいいんじゃ?
すりゃいいってほど簡単じゃないけど。
- 715 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:16:30 ]
- プロセスにオブジェクトを渡してオブジェクトを受け取る、とか出来ないから
モジュール化がだいぶしょぼくなるな。 出来ればいいのになー。.NET環境だとそういうのもあるのになー。 OSはメモリもオブジェクトのメタデータも管理しちゃえばいいのに。
- 716 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:35:02 ]
- tangoにシリアライザなかったっけ。
- 717 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 22:37:26 ]
- >>715
モジュールをDLLとして作れば、Dのオブジェクトを渡したり GCをプロセス間で共有したりできるみたいよ。
- 718 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:13:25 ]
- マイクロソフトD言語潰す宣言
「既存のD言語のライセンスはもちろん買収するつもりだ」――CEO会長坂田雄太 an.to/?microsoft01news
- 719 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:18:29 ]
- >>718
Fxで開いたらrundll32.exe url.dll,TelnetProtocolHandlerとか出てきたが何をするつもりなんだ。
- 720 名前:デフォルトの名無しさん [2008/03/14(金) 10:22:03 ]
- >>718
正確に「潰す」とは言ってないんだろ? だったら問題ないと思うが
- 721 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:33:20 ]
- ブラクラです
- 722 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:35:46 ]
- 別にE言語になってもイーっすよ
- 723 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:24:11 ]
- Dって元々Mars言語って名前だったのを、
をるたんの友人がD言語って言い張るもんでいつの間にかDになったんじゃなかったっけ。 MSに名前押さえられても元のMars言語って名乗れば問題ないよね。
- 724 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:32:39 ]
- >723
マスコットキャラかわいそう・・・・・・
- 725 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:45:40 ]
- >>724
あんなゴキブリみたいな顔してるムカつくマスコットなんだから どこか別の場所に生きる術を見出せるさ。
- 726 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:54:18 ]
- >in パラメタ記憶域クラスを scope const の意味としました
あれ、finalは・・・
- 727 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:17:30 ]
- finalはみんなの心の中で生き続けるよ
- 728 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:58:12 ]
- むしろ「かぶっちゃったけどどうしてもこの名前使いたい」って言って
MSがお金払ってくれたら棚ぼたなのにw
- 729 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 15:05:36 ]
- >>728
最初からそれ狙いでしょ。 つーか、世の中にD言語って、このD言語以前からも色々あるわけだが。
- 730 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 15:27:27 ]
- なるほど、D言語と名づけたのは金狙いか
思惑通りMSが金払ってくれるのは、むしろいいことじゃあないか めでたしめでたし
- 731 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 15:57:12 ]
- ??????????
- 732 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:05:10 ]
- このスレもやたらレベルがさがったな
- 733 名前:デフォルトの名無しさん [2008/03/14(金) 16:12:38 ]
- だってD言語だもんな
- 734 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:36:42 ]
- なんかマイクロソフトの"D言語"の話題を何回も蒸し返したがる子がいるのね。
- 735 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:08:00 ]
- MSにあのマスコットキャラ売っちゃえばいいんじゃね?
- 736 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:36:28 ]
- MSならきっと立派に育ててくれる
- 737 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:53:46 ]
- マイクロソフトに期待してる人が結構いるんだね
Linux使ってる俺にとってはどうでもいい話だが
- 738 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:12:14 ]
- M$ が主導しても自分では Windows でしかコンパイラ作らないんだろ?
価値ないよ。
- 739 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:13:53 ]
- そろそろxamlでDFLフォームを作るコンバータをだな
- 740 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:23:43 ]
- WPFのDバインディングとかは使ってみたいよね。
Dから.NETのリフレクション機能をさわるのはできたけど、 CLRのGCとDのGCを上手いこと動かしてリークを防ぐのがめんどい。
- 741 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:28:30 ]
- Iron DなのかD.NETなのかD#なのかが問題だ。
|

|