D言語 Part24
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/01/26(火) 00:06:57■前スレ
http://pc12.2ch.net/test/read.cgi/tech/1253443684/
■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)
■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
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動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
ttp://dusers.dip.jp (D言語友の会)
ttp://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
>>2へ続く
0912911
2010/07/31(土) 14:32:52・・・途中投稿してごめんなさい吊ってきます
0913デフォルトの名無しさん
2010/07/31(土) 14:38:27ああそうか初歩的ミススマソ……
まどろっこしいな……
0914デフォルトの名無しさん
2010/07/31(土) 15:11:54お前が死んだら誰がD言語を支えるんだ!
もっと熱くなれよ!
0915デフォルトの名無しさん
2010/07/31(土) 18:37:44外部の関数を呼び出したら、重くなったんだけど…
なぜだ。(D1.063)
0916デフォルトの名無しさん
2010/07/31(土) 18:55:420917デフォルトの名無しさん
2010/07/31(土) 19:00:52重くなかったら…
0918デフォルトの名無しさん
2010/07/31(土) 20:43:070919デフォルトの名無しさん
2010/08/01(日) 01:03:000920デフォルトの名無しさん
2010/08/01(日) 07:24:59うわぁぁぁぁぁぁぁぁぁぁぁぁぁぁ!!!!
なんでみつかんねぇんだぁぁぁぁあああああ!!!
0921デフォルトの名無しさん
2010/08/01(日) 08:22:49そのエラーは確保してない領域(null含む)にアクセスした時に出るエラーだから、
>>920が考えてる原因、とは別の所に原因がある可能性も。
0922917
2010/08/01(日) 11:24:33・・・これどうするかねえ。
0923デフォルトの名無しさん
2010/08/01(日) 12:38:130924917
2010/08/01(日) 12:45:19http://www.dotup.org/uploda/www.dotup.org1066114.zip.html
test1⇒ 手動でインライン展開したバージョン。
test2⇒ 関数呼び出しをしているバージョン。
test3⇒ もしやと思いforをgotoに変えたバージョン、だが特に何もなかったぜ!
関数呼び出し重すぎ。
0925デフォルトの名無しさん
2010/08/01(日) 12:49:430926917
2010/08/01(日) 12:55:01上げるzipを間違えた・・・
http://www.dotup.org/uploda/www.dotup.org1066137.zip.html
0927デフォルトの名無しさん
2010/08/01(日) 13:11:11ウォルたんに言ったら直してくれるんじゃね
0928デフォルトの名無しさん
2010/08/01(日) 14:13:17まあテンプレートミックスインとかにして強制的にインライン化すればいいよ
0929917
2010/08/01(日) 15:04:12英語わかんないの・・・
0930デフォルトの名無しさん
2010/08/01(日) 15:19:370931デフォルトの名無しさん
2010/08/01(日) 16:14:19まじ別の場所にいた・・
ぬるぽ!
0932デフォルトの名無しさん
2010/08/01(日) 16:19:01ガッ!
バグの原因見つかって何より。 ・・・見つかったんだよね?
0933デフォルトの名無しさん
2010/08/01(日) 17:01:48もっと呼び出し回数を減らせるような関数を作ればいいんじゃないかなと思う。
0934デフォルトの名無しさん
2010/08/01(日) 18:08:39ライブラリリファレンスをちゃんと見たら、
四角形塗りつぶしする関数があったのは内緒だ。
0935デフォルトの名無しさん
2010/08/01(日) 21:10:42一部要素がnullになってるリストがあって
nullな要素のインデックスを覚えといて
後でそこを埋める処理書いてたんだけど
(↑効率悪いってのは気にしないでくれ・・)
覚えてたインデックスが間違ってて、
リストの要素が全てnull以外になってることを
想定してた処理で死んでた。
全く関係ない関数からretするだけでエラー落ちしてたから
意味わからず3日間悩んでたよ・・・
やっと見つかったは良かったけど今ソース中がprintfだらけなんだぜ!!
0936デフォルトの名無しさん
2010/08/01(日) 21:13:28debug = HOGE_PRINT;
とやって
debug(HOGE_PRINT) writeln(〜〜
ってやったりするよね
0937デフォルトの名無しさん
2010/08/01(日) 21:18:020938デフォルトの名無しさん
2010/08/01(日) 21:27:190939デフォルトの名無しさん
2010/08/01(日) 21:48:180940デフォルトの名無しさん
2010/08/01(日) 21:51:01c = a + b; /* 念のため */
0941デフォルトの名無しさん
2010/08/01(日) 22:16:52printf()だらけあるあるwww
そして、いざデバックの為にコンパイルしようとしたら、
printf()の構文でエラーを吐くのはもっとある。
ちなみにバグを見つけるだけなら、契約の仕組みが非常に役にたつ。
俺がちょっと前に書いたプログラムは、この仕組みが無かったら、どうなっていたか分からんね。
0942デフォルトの名無しさん
2010/08/01(日) 22:19:28ねーよ。
昔の時代のことはしらねーけど。
>>940
もっと信用してあげて下さい…
0943デフォルトの名無しさん
2010/08/02(月) 05:59:05普通に定義すると not covariant with object.Object.opEeuals とか言われる
0944デフォルトの名無しさん
2010/08/02(月) 06:44:35immutable関係なくシグネチャ間違ってると予想。
0945デフォルトの名無しさん
2010/08/02(月) 07:21:16ソースはこんな感じ。
immutable class Hoge
{
string toString() { return "Hoge"; }
bool opEquals(Object other) { return false; }
}
コンパイル結果は
opequals.d(3): Error: function opequals.Hoge.toString of type immutable string() overrides but is not covariant with object.Object.toString of type string()
opequals.d(4): Error: function opequals.Hoge.opEquals of type immutable bool(Object other) overrides but is not covariant with object.Object.opEquals of type bool(Object o)
エラーメッセージから察するに Object に immutable bool opEquals(Object) が宣言されてないと駄目っぽい?
0946デフォルトの名無しさん
2010/08/02(月) 08:12:30抜け道だけなら、immutableではない継承階層を作って、
そこでimmutable_toStringでも定義して、元のtoStringからimmutable_toStringを呼んでおいて、
Hogeではimmutable_toStringをオーバーライドするとか……試してないけど。
単にObject.toStringにimmutableを付ければいいってもんでもないよな……const他の修飾子もあるし
さあWalterタンに報告だ!w
0947デフォルトの名無しさん
2010/08/02(月) 10:56:250948デフォルトの名無しさん
2010/08/03(火) 05:46:33struct A {
int value;
alias value this;
}
void main()
{
A a = {123};
if ( a==123 && a!=123 )
writeln( "???" );
}
==と!=が同時にtrueって一体どういうことなんだ?
0950デフォルトの名無しさん
2010/08/03(火) 20:21:21C#の方が食い扶持があるぞ
0951デフォルトの名無しさん
2010/08/03(火) 20:28:06どれくらいの初心者?
とりあえずわなD
0952デフォルトの名無しさん
2010/08/03(火) 20:30:43Dはhellowroldをを実行したぐらい
0954デフォルトの名無しさん
2010/08/03(火) 21:41:420955デフォルトの名無しさん
2010/08/03(火) 21:49:330956デフォルトの名無しさん
2010/08/03(火) 22:04:050957デフォルトの名無しさん
2010/08/04(水) 00:38:560958デフォルトの名無しさん
2010/08/04(水) 12:02:21char[128] mChar;
}
int main(){
for(int Count = 0; Count < 1000; ++ Count){
writefln("Count = %d",Count);
STest[] mTests;
for(int i = 0 ; i < 1000; ++ i){
STest Test;
mTests ~= Test;
}
mTests.clear;
}
return 0;
}
WindowsのDMD2.046で上記のコードでmTests.clear;のタイミングでメモリが解放されてないっぽいのですがこれはそういうものなのでしょうか。
0959デフォルトの名無しさん
2010/08/04(水) 16:14:440960デフォルトの名無しさん
2010/08/04(水) 16:22:22大抵はよほど空きが貯まらない限りは再利用のために取っとく。独自メモリマネージャを実装してる言語はみんなそう
0961デフォルトの名無しさん
2010/08/04(水) 19:04:06もう書いてあるっけ?
0962デフォルトの名無しさん
2010/08/04(水) 19:49:05レス数が950を超えています。1000を超えると書き込みができなくなります。