1 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 23:00:35 ] プログラミング言語 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の入門講座)
511 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:22:58 ] >>510 再現コード+DLLを、どっかにアップしたらどう
512 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:28:08 ] >>511 すみません。原因はわかってしまいました。 クラス定義があると、どうやらモジュールコンストラクタで使っているDLLよりも、 クラスのメンバ関数で使っているDLLが先にロードされて、 そのロード順の違いによって問題が出たり出なかったりするようです。 COM周りは本当によく分かりません。
513 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 12:41:58 ] jscriptをちょっとだけやったことがある程度なのですが、 Winsockで簡易的なHTTPサーバーを作ろうと思い、 ためしにCで書かれたサンプルをDにしてみているのですが、 sockaddr_in型からsockaddr型への変換のところで詰まりました。 サンプルは www.geekpage.jp/programming/winsock/http-server.php のものです。 どうすればsockaddr_in型からsockaddr型への変換ができるのでしょうか。 Cでは (struct sockaddr *)&addrで変換しているようです。
514 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 13:14:18 ] 普通にcast(sockaddr *)すればいいんでない?
515 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 13:20:32 ] >>514 ああ、それっぽいことをしていたのに真っ先に試すべきそれをやってませんでした。。。 どうもです。
516 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 06:32:42 ] ヲルタンは1.0と2.0のコンパイラのソースをどうやって 管理してるんだろうなぁ いつも更新同時にでるし。 #ifdefでわけてるだけなのかな
517 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 08:26:55 ] >>516 ソース嫁 といいつつ見てみたけど #if V2 で分けてるだけに見えるな
518 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 11:29:14 ] phobosに入れてもらおうと思ったらどうしたらいいのだろう たまに誰かのがマージされてるみたいだけど
519 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 11:47:52 ] をるたんに直談判
520 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:08:18 ] 518じゃないけど、 >>519 まじっすかwwwなぜdsourceにいったんだろうw
521 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:06:30 ] 変数に対するfinal指定がなくなってる… コンストラクタで一度だけ初期化できるフィールドってどうやって書けばいいんだ
522 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:10:21 ] finalとconstはinvariantと違って使い分けの基準が分かりにくい
523 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:11:32 ] const 関連ごちゃごちゃしすぎて D 2.0 使う気が起きないっす。
524 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 03:21:59 ] 周辺ライブラリがきちんとconst/invariant修飾されるようになれば 使いやすくなると思うんだけどな
525 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 04:26:52 ] たしかにD2.0はまだ未成熟のように感じる。 最低でもconst/invariant関連の仕様がいい具合になるまでは D1.0+Tangoで当面様子見するのがいいかも。
526 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 07:18:04 ] std.string内関数、引数がstringなのがうざすぐる
527 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 09:28:06 ] phobos自体、,009の新しいルールに則ってなくて一部コンパイル通らんしな…
528 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 09:54:35 ] それphobos2.libってどうやって作ってるの?
529 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 11:52:33 ] Dはてんこもり過ぎね? 誰かD--言語のドラフト書いてくれよ
530 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 13:42:25 ] >>526 同意。せめてin char[]にして欲しい。 おかげで無駄なキャストがわらわらと必要に
531 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 16:24:10 ] D:\foo\bar\hoge\..\..\abc\def.txtという相対指定も含んだパスから D:\foo\abc\def.txtというパスを取得する簡単な方法はありませんか?
532 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 22:16:30 ] \ でsplitして .. があったら左側を消せば。
533 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:07:01 ] .\..\.\..\ とかがあるんじゃね? とか打ってみたらリズムが良くてわらた
534 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:15:00 ] string shorten_path(string orig_path) { string[] path = []; foreach(dir; orig_path.split("\\")) { if(dir == ".") continue; if(dir == ".." && path.length > 1) { path.length = path.length-1; continue; } path ~= dir; } return path.join("\\"); } こんな感じでどうだろ
535 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:22:00 ] string normalizePath(string path) { auto a = path.split(`\`), b = new string[a.length], idx = 0; foreach(e; a) { switch(e) { case ".": break; case "..": if(--idx < 0) throw new Exception("invalid"); break; default: b[idx++] = e; } } return b[0 .. idx].join(`\`); }
536 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:25:43 ] 被ったorz
537 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:57:02 ] 534だけど if(dir == ".." && path.length > 1) { ↓ if(dir == ".." && path.length > 0 && path[$-1] != "..") { でした。
538 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:03:37 ] >>534-537 どうもです。 パスの正当性チェックを加えて使います。
539 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 14:37:06 ] >>538 ま、WindowsならそのものずばりなAPIがあったりするが。
540 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 15:01:16 ] >>539 似たような処理で、linuxやwebの不正なパスも調べようとしているので。 もしできれば参考までにその関数名を教えてくれると助かります。
541 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:16:46 ] >>540 PathCanonicalize() あ、不正かどうかのチェックではなく、相対指定の削除の方な。
542 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:56:30 ] >>526 , 530 dout.printf("%d\n".dup, 10); .dupうぜええ
543 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:16:25 ] >>542 でじこ・うさだ・ぷちこ
544 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 06:41:00 ] DMD 2.010 & 1.026 リリース
545 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:03:31 ] バグフィックスが主だね
546 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:28:13 ] pureとな 何に使うんだろう
547 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:33:35 ] まさかpure関数か?
548 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:56:36 ] What's New for D 2.010 Jan 20, 2008 New/Changed Features opAssign can no longer be overloaded for class objects. WinMain and DllMain can now be in template mixins. Added pure keyword.
549 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:30:10 ] とりあえず1.026でwin32が通る。
550 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:38:01 ] win32を使おうとすると出る>>110 だが、関数ポインタ型の宣言が使っている所よりも後ろになっているところがあって、それが原因みたい。 Func func; alias void function() Func; というふうになっていると、そこでエラーになる。 rpcndr.dとか、rpcdcep.dとか。 だから、それを解消するように書き換えてやれば、使えるようになる。 alias void function() Func; Func func; というように。 まあ、ちょっと調べれば分かることだけど、とりあえず報告。
551 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:43:32 ] Bugs Fixed * Bugzilla 1319: compiler crashes with functions that take const ref arguments * Bugzilla 1697: Internal error: ..\ztc\cgcod.c 2322 with -O * Bugzilla 1700: ICE attempting to modify member of const return struct * Bugzilla 1707: '==' in TemplateParameterList in IsExpression causes segfault * Bugzilla 1711: typeof with delegate literal not allowed as template parameter * Bugzilla 1713: foreach index with tuples and templates fails * Bugzilla 1718: obscure exit with error code 5 * Bugzilla 1719: Compiler crash or unstable code generation with scoped interface instances * Bugzilla 1720: std.math.NotImplemented missing a space in message * Bugzilla 1724: Internal error: toir.c 177 * Bugzilla 1725: std.stream.BufferedFile.create should use FileMode.OutNew * Bugzilla 1757: there is an fault in phobos windows api interface * Bugzilla 1762: Wrong name mangling for pointer args of free extern (C++) functions * Bugzilla 1767: rejects-valid, diagnostic * Bugzilla 1769: Typo on the page about exceptions * Bugzilla 1773: excessively long integer literal * Bugzilla 1779: Compiler crash when deducing more than 2 type args * Bugzilla 1783: DMD 1.025 asserts on code with struct, template, and alias * Bugzilla 1788: dmd segfaults without info * D.announce/11066: Re: DMD 1.025 and 2.009 releases
552 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:44:06 ] ぺたぺた やっと最初のやつ直ったのな
553 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 12:44:34 ] Open Tech Press | プログラマの生産性を高める新たな言語「D」 ttp://www.itmedia.co.jp/enterprise/articles/0801/22/news058.html これでD言語にも人気が出てくるといいな。
554 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:34:28 ] >>541 へー、WindowsAPIってOSの機能を使うだけって思ってたんですがこういう関数も結構あるんですね。 ありがとです。
555 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:26:52 ] functionをdelegateに変換!みたいなことってできないの?
556 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:37:44 ] >>553 >GDCはDMDとは違って今のところはまだ標準に100%の準拠はしていない。 標準?そんなものあったの?
557 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:50:09 ] >>556 ウォルたんのページに書いてるのが標準。ただし、頻繁に変わるw
558 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:56:03 ] >>555 delegateは実はただの構造体のようなもの。 TR delegate(TA) toDelegate(TR, TA...)(TR function(TA) fn) { typeof(return) dg; dg.ptr = null; dg.funcptr = fn; return dg; }
559 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 19:07:24 ] >>558 それスタックずれる
560 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 19:13:03 ] じゃあこうかな TR delegate(TA) toDelegate(TR, TA...)(TR function(TA) fn) { return delegate TR(TA args){ return fn(args); }; }
561 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:49:56 ] private struct FunctionCaller(R, A...) { R call(A args) { return (cast(R function (A))this)(args); } } R delegate (A) todg(R, A...)(R function (A) func) { FunctionCaller!(R, A) c = void; auto res = &c.call; res.ptr = cast(void*)func; return res; }
562 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 06:33:07 ] >>558-561 なんでそんなに詳しいんだ
563 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 12:23:38 ] >>557 そのアップデート速度がDの魅力。 仕様が10年も変わっていないC++には真似ができない。 ただ、最近はDMDの更新が遅いと思い始めた。病気だろうか。
564 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 13:49:37 ] >更新が遅い 超わかりすぎるw
565 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 14:07:56 ] 機能追加されるたびに「迷走しすぎじゃね?」とか書き込むけど、バグフィックス中心の更新だとなんか寂しい俺は既に完全調教されているのか。
566 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:29:41 ] >>563 ,565 よう俺
567 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:56:03 ] さびしがりやさんかわいい
568 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:17:05 ] >>550 その手直しされたファイル群をうpしてくれ
569 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 22:08:47 ] if (s[$ - 2 .. $] == "\r\n") if (s[$ - 1] == '\n' && s[$ - 2] == '\r') 文末にCRLFがあるか調べるだけの条件式ですが、 これらは似たようなものなのに、後者の方が6倍ほど速くなるのは何ででしょうか?
570 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 22:23:29 ] >>569 文字列の比較か整数の比較か。
571 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 23:27:42 ] >>569 一番大きいのは配列比較関数を呼び出すオーバーヘッドじゃなかろうか。
572 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 01:14:43 ] >>570-571 いろんな理由があるんですね。 でも、どっちにせよ10000000回まわしてやっと差が二秒出る程度なのであまり気にしないことにします。
573 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:40:33 ] DでつくったCOMサーバにTypelibを埋め込むにはどうしたらいいんだぜ?
574 名前:573 mailto:sage [2008/01/25(金) 10:49:57 ] 言葉足らずすんません DでつくったCOMをC#からつかってみようと思ったんだけど、 登録できなくて、いろいろしらべたら、タイプライブラリが組み込んでないからだと 思うようになったんです。 以下C++でDのサンプルにあるdserver.dを呼び出す方法です GUID CLSID_Hello = { 0x30421140, 0, 0, {0xC0,0,0,0,0,0,0,0x46} }; GUID IID_IHello = { 0x00421140, 0, 0, {0xC0,0,0,0,0,0,0,0x46} }; HRESULT hr; class IHello : IUnknown { public: virtual int STDMETHODCALLTYPE Print()= 0; }; IHello* pIHello; hr=CoCreateInstance( CLSID_Hello, NULL, CLSCTX_ALL, IID_IHello, (void**)&pIHello); pIHello->Print();
575 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 14:31:29 ] IDLを書いて、midlでタイプライブラリにコンパイルして、typelib型のリソースとしてリンクすればいいんじゃなかろうか。
576 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:28:14 ] Ubuntu (amd64) 上でのGDC (amd64) で、Tango使えますか? ↓ここには、バイナリはi686用しか用意してないって書いてますが... www.dsource.org/projects/tango/wiki/GdcDownloads ソースから自力コンパイルするといいのかしらん。
577 名前:573 mailto:sage [2008/01/25(金) 16:46:13 ] >>575 VisualStudioで適当なActiveXプロジェクトをつくって そこでできたresファイルをDMDにくわせたら・・・ うをを、登録できた! これで575さんの言うとおりの事をやればいける予感です ありがとうございます!
578 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 19:00:57 ] pure関数ってconst関数となにか違うの?
579 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 19:14:37 ] 結果が引数だけに左右される関数。 CTFE出来る関数は純粋関数。
580 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 23:55:01 ] 副作用が無い関数か。 ところでpureキーワードの説明、どこに載ってる?
581 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 00:02:56 ] >>580 news://news.digitalmars.com:119/fn1p18$aem$1@digitalmars.com > > Thanks! Are there any short-term plans to do anything with 'pure', > > or are you just reserving the keyword (as was done for 'macro')? > > It's just to reserve it.
582 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 08:24:35 ] emacsのflymake使えるの? 使えたら設定の仕方教えてください。
583 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:36:06 ] 【レス抽出】 対象スレ: D言語 Part16 キーワード: の? 抽出レス数:26
584 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:39:12 ] >>582 ちょっとはぐぐればいいのに
585 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:44:20 ] 教えてください。 と丁寧に頼む割りに 使えるの? というたずね方。 つまり 教えてください。 は形だけ丁寧にしたってことだね><
586 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:48:30 ] >>585 細かいぞ、と初レス
587 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:12:01 ] kmonos.net/alang/d/ がみえないよ(TT) ど、どうしたのかなぁ・・・
588 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:30:55 ] >>587 少しはさがせよw www.kmonos.net/alang/d/1.0/ www.kmonos.net/alang/d/2.0/
589 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:36:51 ] >>588 いやいや、更新中だったと思われ /2.0フォルダが無かった 乙です。お世話になってます。>inaba氏
590 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:33:08 ] 久々に一日みっちりコード書いたけど、 string回りでエラー出すとinvariant(char)[]がうじゃうじゃ見えるのが鬱陶しいー。 文字列=>文字列の連想配列とか使うともうわけわからん。 stringがクラスになる日はもう来ないのかなぁ…… ところでDで設定ファイルを扱うとなると、何が定番だろう。
591 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:40:04 ] iniとかyamlとかでいいんじゃね
592 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:41:01 ] ふとC++を知っている人にD言語のコードを説明するとき、ベースは似たようなものだから説明も少しでいいか…と思ってたら、 withだのsyncronizedだのscopeだの型推論だのプロパティだのとD節全開な自分のコードがそこに広がっていた。 (C++やJavaさえ知っていれば)習得が容易というのはDの売り文句なはずだけど、 誰かヲルタたんを止めないと…この調子でいったら……とおもった。 まぁ個人的にはバッチコイだけど。
593 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:49:42 ] syncronizedはJava、withはVBやJavascriptにあるから、それなりに知名度あると思う。 scope属性はC++のauto属性、scope文は他の言語では見たこと無いなぁ。
594 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:13:15 ] scope 文は C# の using 文じゃないの?
595 名前:593 mailto:sage [2008/01/27(日) 18:30:47 ] 間違えた。scope文じゃなくてスコープガード文ね。
596 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:06:04 ] >>590 全然関係ないけど、うちの同僚が「久々にムッチリコード書いたぜ」ってメールだしてきたのを思い出してワラタ
597 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:27:15 ] >>595 boostにスコープガードなかったっけ。
598 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 23:19:11 ] エントリポイントってmain固定?
599 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 23:28:13 ] main WinMain DllMain の3つじゃなかったかな
600 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 08:40:53 ] D1→D2の違いまとめ、だそうだ www.digitalmars.com/d/2.0/features2.html
601 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:32:47 ] Version D 2.011 Jan 25, 2008 New/Changed Features * Re-enabled auto interfaces. Bugs Fixed * Bugzilla 1072: CTFE: crash on for loop with blank increment 更新内容が最近寂しいのは、そろそろ3.0ですよってことなのだろうか
602 名前:デフォルトの名無しさん [2008/01/29(火) 17:46:00 ] >>601 >そろそろ3.0ですよってことなのだろうか だめだはやくウォルタンを止めないと・・・
603 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:30:36 ] D2は黒歴史ってことなのか
604 名前:デフォルトの名無しさん [2008/01/29(火) 18:54:58 ] その問いにはまずD1.0が黒歴史か否かを答えねば
605 名前:デフォルトの名無しさん [2008/01/29(火) 19:54:59 ] 早くtangoを標準にしてくれ...
606 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:00:45 ] tangoは命名規則きもちわるいんだよなあ
607 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:58:43 ] だよなー どうして推奨の命名規則を守らないのか 訊いてみたいが言葉の壁ががが
608 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:05:01 ] auto interfaceってなんだっけ。
609 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:00:09 ] tangoキモいキモい言いながら、実際に使ってみるとphobosよりもいい感じなんだよなぁ
610 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:08:47 ] tangoはStdoutのopCallのオーバーロードがきもすぎ。 C++のシフト演算子よりも寒気のする記法があるとはおもわなんだ。
611 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 02:05:01 ] >>610 >C++のシフト演算子よりも そんなまさか
612 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 02:32:17 ] >>609 そうなんだあ・・・勉強してみようかな
613 名前:デフォルトの名無しさん [2008/01/30(水) 02:35:20 ] おまいらキモイキモイ言いたいだけちゃうんかと
614 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 03:38:33 ] opCall使わないほうのやつなかったっけ?
615 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 07:10:43 ] foo("")(1)(2)(3)(4)(5); みたいな形だっけ?
616 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:21:17 ] Stdout("foo")(bar)とかもう何ひとつ分からない。 「標準出力に"foo"、barを書き込む」って言わせてほしいのに、 「barを"foo"を標準出力したものする」と言わされるという不思議。 あ、なんか書いてて「標準出力って動詞じゃね? ”標準出力する”て自然じゃん」て思えてきた……。 「"foo"を標準出力先する」 うん、これならちゃんと不自然だ。 んあ? API Index見たら、tango.group以下のだけちゃんと小文字だな。 tango.group.collectionならtango.util.collection以下を全部public importするのか。ほほー。
617 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:45:39 ] 実際はこういうことをやってるだけなんだよな auto o = Stdout(1); o = o(2); o = o.newline(); o = o(3); o.newline();
618 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:47:59 ] newlineをメソッドにしちゃうあたり、神経を疑うわ
619 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:39:47 ] 無理にopCallのを使わなくても、tango.io.Print 使えばC#形式で使える。
620 名前:619 mailto:sage [2008/01/30(水) 14:52:34 ] すまん。tango.io.Stdout だった。classがtango.io.Printな
621 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 19:48:19 ] 2.011ってどこにあるの
622 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 19:49:55 ] をるたんのマシン
623 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:09:33 ] 2.011は落とさせる気はないのか
624 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:18:11 ] まえもあったな、こんなこと。
625 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:21:11 ] 作りかけので更新して気づいてないんじゃね。 それか気づいてても直すの面倒なだけか。
626 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:44:50 ] D2.0でコンパイル通るGUIライブラリないかね。 Winだけで動けばいいから、あまりごてごてしてなくて、 普通にWinAPIのオブジェクト指向ラッパみたいなのでも構わないんだが。
627 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 20:53:43 ] >>626 豊富な日本語ドキュメントもほすぃ
628 名前:626 mailto:sage [2008/01/31(木) 22:05:19 ] どう探しても無いみたいだから、自分で作るかなあ。 激しく車輪の再発明なわけだが、勉強にはなりそうだし… 時代はWPFに遷りかけてるのに一体何をやってるんだか。
629 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:16:13 ] >>628 完成したころにD3.0が…
630 名前:デフォルトの名無しさん [2008/01/31(木) 22:57:26 ] さっきDFLとWinAPI同時に使おうとしたらエラー出て使えなかった。 SetWindowsHookExとDFLのフォームを使いたかったんだけどなぁ。 ちなみにWinAPIってのは www.dsource.org/projects/bindings/wiki/WindowsApi を利用した方ね。tango内のWin32ではなくて。 ...あ、static importすればいいのか。
631 名前:630 [2008/01/31(木) 22:59:50 ] ↑なんでstatic importだよw そうじゃなくて「選択 import」ね。 でもstatic importも選択importも使ったこと無いなぁ。
632 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:25:04 ] バージョン1.026とbinding win32apiだけでコンパイルできる GUIライブラリを使わないでwin32apiだけを使ったウインドウをただ表示するだけのサンプルコードはどこかにありませんか?
633 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:14:51 ] >>632 わなDのが近い。書庫の展開とかやってるけど、main関数はまんま。 つか、その条件ならDじゃなくて、C/C++のサンプルコード探したほうがいいんじゃね?
634 名前:デフォルトの名無しさん [2008/02/01(金) 15:28:53 ] >>632 www.kmonos.net/alang/wnd/topics/winapi.ja.html
635 名前:デフォルトの名無しさん [2008/02/01(金) 17:39:16 ] >>634 そこからWin32のバインディングをダウンロードしたいのですが やりかたがわかりません・・・ TortoiseSVNでやってみてるのですが・・・
636 名前:デフォルトの名無しさん [2008/02/01(金) 18:22:12 ] あー、あれね。俺も迷った。←SVNよく分からない ダウンロードは www.dsource.org/projects/bindings/browser/trunk の一番下のDownload in other formats: Zip Archiveから出来る。 trunk以下すべてが入ってるけどそこからWin32だけ抜き出せばOK trunk/win32をブラウザで開いてもZip Archiveのリンク無くて迷った。
637 名前:636 [2008/02/01(金) 18:30:15 ] ちなみにあれってSVN使えばDL出来るのかな。一応試したんだけどエラーばかりだった。(自分の操作が間違ってた可能性大) それと今exeファイルのアイコンを変える方法探してるんだけど。。。無理?だよねぇ。 外部ツール使って書き換えでもいいけど、コマンドラインから使えるタイプのものってないだろうか。
638 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:40:14 ] >>636 ををっそんな小さなところに! ありがとうございます これすごいですね、DirectX10まである
639 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:40:34 ] >>637 ttp://www5.atwiki.jp/yaruhara/pages/74.html#id_7e0a1665 これ? でいいんかな。試してないんでよく知らんが。
640 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:51:33 ] svn co svn.dsource.org/projects/bindings/trunk/
641 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:00:34 ] ここで>>550 氏の出番ですよ
642 名前:636 [2008/02/01(金) 19:02:03 ] >>639 サンクス!これで出来た。dsssはresの扱い方知らないとか言ってきたけどw
643 名前:636 [2008/02/01(金) 19:17:50 ] >>640 なるほどアドレスが違ったのか。そのままwww.dsource.org/でコマンド打ってたらそりゃ無理だ罠。
644 名前:636 [2008/02/01(金) 19:34:46 ] dsssでも以下のようにするとresをつけれました。 dsss build main.d -L/RC:test.res
645 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:36:41 ] 某所にあったシリアライザーをちっとだけ修正してみました {{は.diになったときのエラーよけ ubyte[] serialize(T)(in T t) { ubyte[] rv; static if( is(T==struct) ) {{ foreach(x;t.tupleof) rv~=serialize(x); }} else static if( __traits(isIntegral,T) ) {{ rv=(cast(ubyte*)[t].ptr)[0..T.sizeof]; }} else static if(__traits(isStaticArray,T)) {{ rv=cast(ubyte[])t; }} else static if(is(T U:U[][])) {{ rv=serialize(t.length); foreach( v; t) { rv~= serialize(v); } }} else static if(is(T U:U[])) {{ rv=serialize(t.length) ~ cast(ubyte[])t; }} else {{ assert(0,"unsupported"); }} return rv; }
646 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:37:10 ] template ReturnType(T) { static if(__traits(isStaticArray,T) && is(T U:U[])) { alias U[] ReturnType; } else { alias T ReturnType; } } ReturnType!(T) deserialize(T)(ubyte[] t) { ubyte* ptr = t.ptr; return _deserialize!(T)(ptr); }
647 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:37:54 ] private ReturnType!(T) _deserialize(T)(ref ubyte* t){ ReturnType!(T) rv; static if(is(T==struct)) {{ foreach(i,x;rv.tupleof) { static if(__traits(isStaticArray,typeof(x))) rv.tupleof[i][]/*x[]=*/=_deserialize!(typeof(x))(t)[]; else rv.tupleof[i]/*x=*/=_deserialize!(typeof(x))(t); } }} else static if(__traits(isIntegral,T)){{ rv=*cast(T*)t; t+=T.sizeof; }} else static if(__traits(isStaticArray,T)&&is(T U:U[])){{ rv=cast(U[])t[0..T.sizeof]; t+=T.sizeof; }} else static if(is(T U:U[][])){{ int len = _deserialize!(size_t)(t); rv.length= len; foreach( i; 0..len) { rv[i]= _deserialize!(U[])( t); } }} else static if(is(T U:U[])){{ int len = _deserialize!(size_t)(t); rv= (cast(U*)t)[0..len]; t+=len*U.sizeof; }} else {{ assert(0,"unsupported"); }} return rv; } だれか連想配列たのむ
648 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:04:16 ] >>647 単に長さを最初に入れて、キーと値を交互にserializeして詰めていけばおkじゃね?
649 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 22:04:22 ] こういうの見るとC++はつらかったな・・・と思いだす
650 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 22:36:59 ] >>633-634 どうもです。 そこの気合いの入った例のコードをとりあえずコンパイルしてみました。 何度かエラーが出たりしましたが何とかコンパイルできました。 出たエラーは tchar.dのtc.TtoW().toUTF8()の部分。 no property 'toUTF8' for type 'int'といわれてしまった。 これはほかのサンプルソースを拾ってきて学習しているときにも、同様の形式でよく出た。 javascriptでこういう書き方を良くやったけど、出来ないのかな? toUTF8(TtoW(tc))にしたらコンパイルは通った。 後はインポートするファイルがどれかわからなかったのと、 リンクするファイルもどれかわからなかった。 で、コンパイルのコマンドラインはtcharを同じディレクトリにおいて dmd test tchar shell32.lib win32.lib main.def -version=Unicode で import win32.core; import win32.shellapi; // DragQueryFile 等 import tchar; import std.windows.charset; をインポートしたら通った。 tchar.dの方は module tchar; import win32.windef; import std.utf; import std.string; private import win32.winbase; で通った。
651 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 00:52:04 ] ちょっとOpenGLでも触ってみるかと思って Derelict落としてchar[]をstringに置換したりしつつdmdに突っ込んでみたら 例のAssertion: t->decoで泣ける。 >>550 を見つけて神かと思ったものの、 問題の箇所を見つけるのはなかなか大変そうだ……早く直してくれぇ。 あと.di食わせたら"Error: unrecognized file extension di"とか言われてしまった。 まさか仕様じゃないよな……?
652 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:51:11 ] >>651 .diはimportに使うだけで、コンパイラに与えるものじゃないよ。
653 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 08:26:57 ] >>648 もうちょっとだけがんばってみた www.kmonos.net/alang/dee/diki7/serializer
654 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:20:30 ] >>653 ReturnTypeのinvariant外しが気になるなぁ。 ReturnTypeはinvariantを外さないようにして、invariantを外すMutableReturnTypeを作って、rvの型をMutableReturnType!(T)にして、returnをcast(ReturnType!(T))rvにすると良いと思うよ。
655 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:25:05 ] >>654 それをやったらかなり使えそうだね。。って 車輪の開発じゃね?どっかに絶対ありそう。
656 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:42:32 ] >>655 phobosのstd.conv.toが近いような。 マージできる予感?
657 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:56:02 ] それって、tangoのReaderとかWriterとかじゃないの? 残念ながらD2.0には対応してないけど。
658 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 15:41:35 ] やっぱりTangoにはあったか
659 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:19:23 ] /⌒ヽ / ´_ゝ`)すいません、ちょっと場所お借りしますよ・・・ | / | /| | // | | U .U D言語BOFを オープンソースカンファレンス2008 Tokyo/Spring www.ospn.jp/osc2008-spring/ セミナー会場にて開きます。 日程:3月1日(土) を希望していますが未定です。 会場:日本電子専門学校 7号館(東京都新宿区・JR大久保駅徒歩2分) ustreamか何かで中継する予定です。 スピーカー - k.inaba : D言語リファレンス 日本語版 わかったつもりになるD言語 - ABA : ABA Games - shinichiro_h: SDL bindingほか - bero: wxD f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF /⌒ヽ / ´_ゝ`)それじゃ、お騒がせしました・・・ | / | /| | // | | U .U
660 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:32:22 ] >>659 俺地方だから、高嶺の花。 動画、マジで配信してください。
661 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:04:08 ] >>659 中継じゃなく、Stage6とかニコニコにUPでお願い。
662 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:44:13 ] >>659 わざわざ言わなくても出ると思うけどページに当日レポうp頼むね
663 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:45:27 ] >>659 あ、行きたい
664 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:07:05 ] >>659 期日までに今作ってるものが形になったら見せびらかしにいくかも。
665 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:15:08 ] 2.0でDirectX10アプリ納品したって勇者も来ないかな
666 名前:デフォルトの名無しさん [2008/02/02(土) 23:21:04 ] >>659 俺も地方だから無理。 ってか東京に住んでたらちょっと駅数個行くだけで有名人の講演が聴けたりするんだよな。 上京したことない俺にとっては、そんなの考えられない。イイナ...
667 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:40:42 ] >>666 歩いて10〜20分程度置きに駅があるから実は数駅ではすまないwww
668 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:47:18 ] >>665 行く予定です
669 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:14:15 ] >>665 ウォルタンを呼ぼうぜ!
670 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:29:26 ] >>666 はやく上京しちゃいなよ! 田舎で競争もせずにボーっとしてちゃ 技術の発展なんてありえないぜ!
671 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:42:39 ] >>669 なんにしろ、こういう事を日本でやってるということを伝えねばなるまい
672 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:26:18 ] ここに投稿してきていいかな ttp://www.digitalmars.com/webnews/newsgroups.php?search_txt=&group=digitalmars.D.announce
673 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:12:46 ] >>672 てっきり関係者が投稿するんじゃないかと思ってたんだが・・・
674 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:39:49 ] >>672 やっていいんじゃない? そこで見つけたんだけど、DでOSをつくろうとしてる人たちがいるね ttp://www.slate-project.org/start
675 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:03:13 ] >>672 まだ日時とか確定じゃないんでちょっと待ってくれ
676 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:51:39 ] ustreamは中継と録画の両方が公開できるらしいので挙げたまでで、 どの配信方法がいいのかよく知らない。 実のところそんなんやったことはおろか、webcamもノートPCも持ってない。 ただ漏れも昔は地方在住だったから気持ちはわかるので、どうにかしたいと思った。 いざとなったら中古ノートでも買う気だけど、 みんな、オラにちからをわけてくれ
677 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:53:32 ] >>676 会場にそういうシステムはないの? ノートPCやWebcamとかは大学から借りれそうにも思うけど
678 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:54:20 ] >>676 あとたぶん日本語オンリーだよね? 難しいかもしれないけど英語通訳がいればいいのにね
679 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:57:04 ] >>672 関係者以外が投稿するのはどう考えても迷惑だろ 書かれた方もどう反応しろと
680 名前:デフォルトの名無しさん [2008/02/03(日) 17:51:25 ] >>673 >675 >679 了解しました >>674 この辺がしびれるあこがれるw Importance: Programming environment > Server > Users >>676 ディレイ中継でもいい気がする
681 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:03:07 ] >>676 途中で切れると嫌なので、peercastで流してホスィ。
682 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:31:12 ] ustreamはチャット連動なのがいいよね
683 名前:デフォルトの名無しさん [2008/02/03(日) 21:00:47 ] Dってかんたんなのか? Cでウィンドウ表示するだけで、めっちゃ長いプログラムをコピーしなきゃいけないんだが。
684 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:05:25 ] > ウィンドウ表示 それは OS の API やライブラリのレベルではないか?
685 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:09:21 ] >>684 そのとおりだぜ
686 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:46:35 ] とはいえ標準ライブラリにGUIが無いのは確かではある。 wxDのスピーカーの人って日本人?
687 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:51:53 ] >>683 ライブラリ化されていなければ同じ手続きを踏むことになる。 言いだしっぺの法則発動しとく?
688 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:23:49 ] HDハンディーカムとかで録画して後日公開がいいんじゃね? webcamだと解像度低すぎて、文字とか映されたら全然読めない気がする。
689 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:56:32 ] >>688 が撮影 >>678 が英語字幕作成 >>661 が変換してうpしる
690 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:46:40 ] >>689 つまり >>687 言いだしっぺの法則発動しとく? ってことだなw
691 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:21:34 ] 言いだしっぺの法則便利すぎわろた
692 名前:デフォルトの名無しさん [2008/02/04(月) 14:01:33 ] >>689 字幕作成と変換はデータ送ってもらって家で作業できるからいいけど、撮影のために会場に行かなきゃならない>>688 はきついなw
693 名前:デフォルトの名無しさん [2008/02/04(月) 14:04:44 ] >>683 ウィンドウ操作は言語がどうこうじゃないな。 でもDが扱えるGUIライブラリはたくさんあるから、使いやすいのもある。はず。 今DFL使い始めだけど、印象は良い感じ。
694 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 14:33:25 ] DFLってD2.0で使えますか?
695 名前:デフォルトの名無しさん [2008/02/04(月) 14:35:53 ] 多分使えない。 俺はtango+DFL+DMD1で使ってる。tangoも2使えないからな...
696 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 16:51:12 ] Dで書いてて 「これこれ!これがDの醍醐味っていうか力だよねー」 みたいなのはありました?
697 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 17:26:43 ] C++からみたらね、Dは配列がすっごい便利だと思う。 スライスとリサイズと結合が簡単にできてGC搭載。メモリの負荷はどうなってるか知らないけども。 あれさ、配列が無責任にリターンできる感動は忘れがたい。 で、これの劣化版をC++で実装してみたんだけど、俺にはclass3個(カウンタ、アロケータ、それ)必要だったから保守が面倒。 参照カウントも正しいかわからんし。独自規格っぽいし。
698 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:15:33 ] >>697 けど数値シミュレーション屋からするとDの配列はまだ行列演算が実装されてないから不便w
699 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:34:47 ] ttp://www.kmonos.net/wlog/82.html#_2031080204 Descentの気合いに鼻血吹いた
700 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:05:34 ] >>699 正直勃った。
701 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:15:23 ] これはEclipseに乗り換えざるを得ない…
702 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:22:34 ] >>698 FORTRAN みたいな配列演算ができればいいのにね、 って前にも言った事がある気がする。
703 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:31:53 ] >>702 並列演算最適化の意味も含めてその機能はほしいんだけどねえ。 real[4][4] a, b, c; c = a * b; いいような悪いような。 構文解釈のあいまいさを除かないと無理ぽ。 動的配列と静的配列が同じ構文で扱えるのも利点のひとつなだけに。
704 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:39:06 ] ベクトル演算はずっと昔からFutureのところに書いてあるよね。 どうするか決めかねてるのか、単に他にやりたいことがあって気が回らないだけなのか。
705 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:56:50 ] extern(Windows){int Beep(int, int);} void main(){ Beep(2000, 30000); } このコードを EXETYPE NT SUBSYSTEM WINDOWS,4.0 というdefファイルと dmd main win.def というコマンドでビルドすると、しばらくマウスポインタがバックグラウンドで作業中のもの(砂時計つき)に変わるんですが、 何ででしょうか?
706 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:07:47 ] ビルドしたexeを実行すると、でした。
707 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:13:07 ] Visual Dはまだかね
708 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:13:24 ] Fortran は嫌いではあるが、 配列演算に関しては優秀だと思う。
709 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:25:58 ] >>701 禿同 これで秀丸ともおさらばか
710 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:29:04 ] >>708 はげどう Dに実装するならぜひFortanライクな配列演算を実現して欲しい それなら数値計算屋にもアピールできる
711 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:02:53 ] >>705 30秒間音なってるから。耳壊す気ですか。
712 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:06:45 ] 2kHzはうるさいなw
713 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:12:00 ] >>699 時代を一足飛びですなぁ。これがうわさの伝説のIDEか!!
714 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:14:12 ] stringが型名として認識されないなあ。 どうすればいいんだろう。
715 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:16:49 ] >>699 のおかげでEclipseを使えるようになりました! 今では女の子にモテモテです!
716 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:46:43 ] これって3.2.xじゃないといかんの? ついうっかり3.3.1.1落としちゃったんだが
717 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:36:17 ] >>716 同じく3.3.1.1だが、普通に動くっぽい。 まあ、あんま詳しくは使ってないが。
718 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:59:22 ] >>697 リターンといえば構造体も、 S f(){ S s; s.a = 1; return s; } が void f(ref S s){ s.a = 1; } にコンパイラが最適化してくれて、とても速い、とかあるらしい。
719 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:00:58 ] 戻り値最適化は C/C++ でも一般的だ
720 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:04:55 ] Dにちょっと興味を持って ttp://www.kmonos.net/alang/d/1.0/class.html とか ttp://www.digitalmars.com/d/1.0/class.html とかを見てみたんですけど、public, private がどう違うのかみたいな事が見当たらず、やや 当惑してます。 細かい所を調べたい時は、どこを見たらいいですか?
721 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:06:29 ] >>720 www.kmonos.net/alang/d/1.0/attribute.html
722 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:06:55 ] 別にそこは講座なわけでも仕様書なわけでもないから、 そこを読むには C++ や Java は前提知識と思った方がいい。
723 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:12:23 ] 仕様書でしょ。
724 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:18:14 ] というか、C/C++辺りをを知らない人にとってDのいいところってなんだ。 開発途上の嫌なとこが目につくだけのような気がするが。
725 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:18:55 ] Descent、とうとう日本語含んだソースでも正常に動くようになったね。ヽ(´∇`)ノ 伝説のIDE候補
726 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:22:28 ] >>724 少なくともいちばんはじめの言語学習には向いてないよなw
727 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:27:26 ] Descent、クラスのアクセス指定をC++式の public: void func() { } とかで書くとインデントがおかしい。俺だけかな。 フォーマッタの設定色々弄ったんだけど(弄ったから?)上手くできん。 Java式か、もしくは中括弧使えばいいんだけども。みんなどれ使ってるの?
728 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:27:57 ] >>721 まさかと思ったら、もう返信が… dクスです。 属性のとこにあったんですね。
729 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:45:40 ] >>711 30秒なのはサンプルだからです。 他に簡単に長いこと起動させるのを思いつかなかったので。 その30秒のうち、最初の6秒間くらいはポインタが砂時計つきに変わるんです。 ほかのコンソールアプリケーションを>>705 のdefファイルを使ってビルドしたときも 同様に砂時計つきに変わるので、どうしてかと思ったのです。
730 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 09:24:58 ] >>669 無茶言うな、と思ったけど BO開くから日本のDユーザーにビデオかなんかでメッセージくれない? といったら >That sounds great! What is the event where there will be the BOF? -Walter 割と好感触 >>672 投下してきました このへん自分じゃ気づかなかったのでここに書いてみてよかった
731 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:01:15 ] >>730 をるたーーーーーんんんん
732 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:00:55 ] EclipseのDLページに行くと落とせるファイルが いくつもあるんだけどどれを落としたらいいですか?
733 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:04:40 ] >>732 3.3系列のWindows向けC/C++版でインストールしたけどうまくいったよ まだほとんどいじってないが。
734 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:40:54 ] だめだ、なぜだかわからないがDescentが "No features found on the selected site" ってなるorz -clearしてんだけどなぁ…
735 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:41:39 ] >>730 欲張るなら オンライン講義かディスカッションができないかな?w
736 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:51:34 ] どちらかというとディスカッション希望
737 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:51:55 ] ところでBOってなに?
738 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:52:45 ] >>736 >>735 の追記だけどたまに国際会議や研究会でそういうのがあった スクリーンに向こうの映像を表示してオンラインディスカッションとか
739 名前:734 mailto:sage [2008/02/05(火) 13:54:17 ] descent.ui_0.5.0.20080203.jar から descent.ui_0.5.0.20080204.jar にあげるときに descent.ui_0.5.0.20080204.jar アップし忘れてるみたいだorz 全部落としてsite.xml編集するか…
740 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:57:49 ] >>737 BOF Birds of a Featherかな? 初めて聞いたが情報系だと一般的な呼称なのかしら?
741 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:47:09 ] >>740 この手のイベントでは割とよく聞く言葉だな
742 名前:デフォルトの名無しさん [2008/02/05(火) 14:51:46 ] descent.ui - 0.5.1.20080204 見つからない。どこいったんだ〜〜〜。 やっと。やっと伝説のIDEを使えると思ったんだけども。
743 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:53:48 ] >>726 GCのおかげで気楽に関数を書けるし、 慣れ親しんだ.exeファイルを自分で作れる点も考えると、 かなり初学者に向いた言語と言えるんじゃないだろうか。 特にGCが無いと、結果を受け取るバッファへのポインタを引数で渡すとか、 戻り値はエラーコードのために空けとかなきゃとか、 必要なメモリサイズをあらかじめ調べとかなきゃとか、 関数を作って使うだけの時点で既に敷居が高くなる。 その制限から抜け出せないまま育つと、 複雑怪奇なシグニチャの関数を書いたり、そもそも関数を書かなかったりして……ああ畜生、 プログラミングは設計だっつってんだろダラズ共が!
744 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:54:40 ] >>741 そか 計算物理畑の人だからかわからんかったw
745 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:56:00 ] あげちゃった。ORZ って>>739 にかいてあったか。
746 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:59:03 ] >>743 最後の2行でワラタ
747 名前:746 mailto:sage [2008/02/05(火) 15:08:17 ] 変な意味で取らないでほしいんだが、 なんか経験がにじみ出てるみたいでちょっと面白かった。
748 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:38:05 ] >>747 わかってまんがな
749 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:06:15 ] 変な意味ってどんな意味?
750 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 20:58:55 ] 「>>743 がおかしなことを言っているからワラタのではなく、 むしろ>>743 の言ってることが妙に真に迫っていたことにワラタんだ」 ってことでしょ。
751 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:25:26 ] >>734 >>742 ちゃんとDescentを入れられるようになったよ
752 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:40:17 ] eclipse 使ってみたけど動作が不安定な感じだなぁ。 最初、保管機能はきいてるのに何故かセマンティックエラーでまくるし、 デバッグもブレークポイントはきくのにローカル変数が表示されず。 その後、何かの拍子にいきなり正常に動作し始めた。 機能はすごいんだが、eclipse を使い慣れてないせいでめちゃくちゃ使い辛い・・・
753 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:48:42 ] SDL_rotozoomを使いたいんですがヘッダの部分は shinh.skr.jp/d/porting.html で入手して、中身は www.ferzkopp.net/Software/SDL_rotozoom/ で入手して、MinGWのgccで -c でオブジェクトファイルを吐かせて ゲームのソースとDMDでリンクしようとしたんだけど 「.o じゃなくて .obj しか対応してないよ!」 みたいに怒られたので困っています。 助けてください。 これが無いとスプライトの拡縮が出来ないんです。
754 名前:746 mailto:sage [2008/02/06(水) 00:49:12 ] >>750 そそ。そんな感じ。
755 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:52:48 ] "Hello"と"return"でスペルミス指摘されたのでぶち切れてスペルチェッカー切りました
756 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:03:43 ] >>751 一個前の入ったね。 VCに慣れた身としてはちょっと戸惑ってるけど問題なさげ。 >>755 すげー高機能だなぁ。。。
757 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:05:13 ] >>753 dll作るがよろし。 その後implib。
758 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:06:29 ] Eclipse試してみたら import std.stdio; ~~~~~~~~~ writefln( ~~~~~~~ とか言われて俺涙目w 時間あるときにひとつずつ設定していかないとダメだな・・・
759 名前:752 mailto:sage [2008/02/06(水) 01:06:38 ] eclipse を起動しなおしたらまたうまく動作してねーやorz なんか別の言語のパーサが動いている気がする。他の言語は切った方が良いのかな。 >>755 スペルチェックだけなら良いんですけど、ddoc 表示もできない。 正常動作中は import モジュールの上でF2押すと説明文出たのに、 セマンティックエラーが出てる状態だと 「単語`xxxx` のスペルが正しくありません。」なんてエラーが出る。
760 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:07:23 ] ずれた import std.stdio; ~~~~~~~~~
761 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:07:47 ] >>758 ちゃんとコンパイラの設定してるかい
762 名前:753 mailto:sage [2008/02/06(水) 01:08:05 ] >>757 了解
763 名前:デフォルトの名無しさん [2008/02/06(水) 01:18:11 ] >>753 gccじゃなくて、Digital Marsのdmc か Borlandのbcc にオブジェクトファイルを吐かせるといけるとおもわれまる。
764 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:21:56 ] Linux(ubuntu)でhello world書いてみたらFLOCKがundefined言われた。 ソースみてなんとなくGCC_IOを定義するようにしてみたら行けたけど、これでいいのだろうか。 あとstringでエラーが出る。CompilerVersionちゃんと2.xにしたんだけどなぁ。 alias見てくれないのかなぁ。
765 名前:753 mailto:sage [2008/02/06(水) 01:24:55 ] >>763 了解。まずそっちをやってからDLLをやります。
766 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:36:42 ] >>764 D2.0対応はまだ不完全で、invariant()まわりでちょっとバグがあるっぽいこと書いてあった。
767 名前:753 mailto:sage [2008/02/06(水) 01:37:57 ] tokyo.cool.ne.jp/sdl/sample.html ここでDLLを落としたら簡単に出来ました。ありがとうございました。
768 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:46:36 ] >>761 お ありがとう コンパイラの設定ができてなかったんだね プロジェクト作成時に設定したらうまく行きました
769 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:57:50 ] >>766 そうなのかー。サンクス。 まさか本当にAutoCompleteが(曲がりなりにも)利用できる日が来るとはな……。 ひとつの到達点だな。いち早くたどり着いてくれたのがdescentで嬉しいEclipseユーザ俺。
770 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:49:40 ] 意味のあるaliasと意味の無いaliasの区別がつきません><
771 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:18:32 ] しかしPoseidonがEclipseベースなんだからDescentと共同開発でもしてくれればいいんだけどな 俺のEclipseはDescent専用なのでこれのためだけに100M近く使うのがもったいないというだけだがw
772 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:25:29 ] PoseidonはDWTベースというだけで別にEclipse関係なかったような
773 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:45:39 ] 例のBOFって、Dを試しに使い始めました程度の人でも 参加していいもの? 行くと場違いだったりしないかな。
774 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:27:54 ] 福岡ならいけたのに(´・ω・`)
775 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:39:19 ] 遠いw
776 名前:デフォルトの名無しさん [2008/02/06(水) 17:25:26 ] ttp://builder.japan.zdnet.com/news/story/0,3800079086,20366701,00.htm これも「D」言語?
777 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:52:02 ] マイクロソフトはどうしてかぶらない名前に出来ないのか。
778 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:52:24 ] MSらしい嫌がらせだよな。 Borlandの次は、をるたんが標的なのかw
779 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:56:23 ] どーせコードネームだろ。 本リリースではXのつく名前にするに違いない。
780 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:12:34 ] >776 DってDQNの略だよ。
781 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:23:56 ] >>773 そんなの大丈夫だろ
782 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:16:41 ] MSに目をつけられるほど完成度の高い言語だったのかw
783 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:24:24 ] MSが肩入れすることで、ようやくD言語も日の目を見るな。
784 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:56:33 ] やばいwD言語の検索結果が少しM$に侵食されてるw
785 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:01:49 ] >>783 おいおい。「D」と名の付く全く別の言語だぞ。 > 「非開発者を対象とした宣言型言語」 ただでさえD言語の情報はWEB検索しづらいのに、 MSのせいで更に困難に・・・
786 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:03:59 ] SolarisにDスクリプトってのがあったよな
787 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:13:21 ] 何処かにEclipseのわかりやすい使い方無いかな どこをどうさわっていいやらさっぱりだ
788 名前:デフォルトの名無しさん [2008/02/07(木) 00:13:45 ] >>776 吹いたw ところで、 module main; import tango.io.Stdout; void main(){ C c1 = new C(); c1.Func(); Stdout.formatln( "&c1 = {:X8}", &c1 ); } class C{ void Func(){ Stdout.formatln( "Func-this = {:X8}", &this ); } } を実行すると Func-this = 0012FE74 &c1 = 0012FE84 となって、二つが違うアドレスなのはなぜ? C++で同じようにthis調べると一緒だったけど。
789 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:21:21 ] >>787 EclipseWiki ttp://eclipsewiki.net/eclipse/?FrontPage Eclipse入門 ttp://www.javadrive.jp/eclipse3/index.html
790 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:24:16 ] >>788 &c1はc1があるスタックを指していて、&thisはthisがあるスタック(thisはアセンブラ的にC.Funcの引数として渡される)を指してる、多分。
791 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:34:22 ] >>789 ありがたや
792 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:41:46 ] >>788 Dのクラスは参照型だから、C++でいうとC*に相当する。 だから、cast(void*)c1 == cast(void*)this; になるはず。
793 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:54:54 ] >>788 Cをstructでやってみれば、C++と同じ結果になると思うよ。
794 名前:788 [2008/02/07(木) 01:18:41 ] >>792 なるほど。その通りになりました。 参照型。。。あれよく分からないんだよなあ。
795 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:25:54 ] struct内でもthisはポインタだった気がするんだけどまぎらわしいようそうでないような
796 名前:788 [2008/02/07(木) 02:19:19 ] >>795 試してみたら、構造体ではthisは普通にポインタみたいです。
797 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:27:40 ] synchronized ( Expression ) ScopeStatement これの存在意義がわからないです・・ どなたか教えていただけますか
798 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:28:04 ] Object lock = new Object; void foo() { bar; synchronized(lock) { hoge; fuga; piyo; } buz; } とかでメソッド全体よりも細かい単位でロック制御できる
799 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:42:34 ] >>798 横レス失礼 それって、Mutexとどこか違うの? 逆に、Tangoのtango.core.sync.Mutexって意味あるの?
800 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:47:00 ] ブロックから出れば勝手にロックが解除される
801 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:51:39 ] >>799 要するにMutexだよ。 tangoのMutexはsynchronized文での自動lock/unlockだけじゃなくて、 手動でもlock/unlock/tryLockが出来る www.dsource.org/projects/tango/wiki/ChapterThreading#Mutex
802 名前:799 mailto:sage [2008/02/07(木) 09:50:33 ] なるほど、ありがとう。把握した。 大した違いはないけど、より細かいことがやりたかったら synchronized ( Expression ) ScopeStatement だの、Mutexクラスだのを使えってことか。
803 名前:797 mailto:sage [2008/02/07(木) 11:41:03 ] なるほど、Mutexとして使えばいいのですね ありがとうございました
804 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:04:54 ] この俺をさらに強固なアンチMSにしてくれたね。 痛い目を見るよ、この結果は。
805 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:20:34 ] でもぶっちゃけお前スライムより弱いべ?
806 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:50:19 ] かたやMSは絶好調時のムドーより強い
807 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:53:13 ] Descent 0.5.1
808 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:33:18 ] tangoの日本語ドキュメントは、何処かで公開されてないですかね?
809 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:50:21 ] Descentつかってる方におききしたいんですが、 デバッグ機能としてのbreak-pointや、watchもばっちりなんですか?
810 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:51:32 ] >>808 今のところこの二つしかない ttp://shoo.s20.xrea.com/shoo/programing/ ttp://f17.aaa.livedoor.jp/~labamba/?tango
811 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 20:51:11 ] MSにパクられた ttp://namidame.2ch.net/test/read.cgi/news/1202382434/
812 名前:808 mailto:sage [2008/02/07(木) 20:52:35 ] >>810 ありがとうございます。 見て来ましたが、ぜんぜん日本語化進んでないって事ですねw 英語ダメダメだから、安物の翻訳ソフトでも買おうかな。
813 名前:デフォルトの名無しさん [2008/02/07(木) 21:15:01 ] 今Dでキーボードフック(グローバル)を書いてみてるんだけど、なぜか上手くいかない。 ちゃんとDLLからSetWindowsHookEx呼んでるし、SetWindowsHookExは成功してるみたいないんだけどな。 Dだとグローバルフックが出来ない理由ってある?(ローカルは出来た) もうちょっとコード見直してきます。
814 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:44:24 ] そーいやD言語でググってたらSunにもD言語があるのを見つけたっけなぁ。 ウォルタンはSunからは何も言われなかったんだろうけど。 Firebirdほど大きな問題にはならない気がするけど、 やっぱややこしいから変えてほしいところだ。
815 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:48:46 ] Sunのほうが5,6年後でしょ。
816 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:55:14 ] >>813 グローバルフックなら共有データセグメントとかメモリマップトファイルとか使って、 フックハンドルをプロセス間で共有できるようにしないといけないよ。 ローレベルフックを使うのも一つの手。
817 名前:813 [2008/02/07(木) 22:02:14 ] >>816 今までずっとそう思ってたんですが、WindowsXP/2000ではCallNextHookExの第一引数はNULLでいいらしいです。 第一引数に何か渡しても無視されるそうな。
818 名前:813 [2008/02/07(木) 22:04:11 ] msdn2.microsoft.com/en-us/library/ms644974.aspx
819 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:06:51 ] D言語でもお麻衣さんの問題はAPIスレで面倒みてもらったほうがよろしかろ
820 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:11:22 ] MSがD言語作るらしいぞ headlines.yahoo.co.jp/hl?a=20080206-00000007-cnet-sci
821 名前:819 [2008/02/07(木) 22:12:07 ] 実はVC++2008で書いたコードでは上手くいっているのでAPIというよりDLLの問題かなと。 そのVCで作ったDLLをDのmainから呼び出した場合上手くいきました。
822 名前:813 [2008/02/07(木) 22:13:18 ] 失礼。↑は813です。
823 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:14:45 ] >>820 何回同じ話題振ったら気がすむんだよww 同じスレぐらい検索しろ
824 名前:デフォルトの名無しさん [2008/02/07(木) 22:32:00 ] >>820 別物なんだよ。
825 名前:デフォルトの名無しさん [2008/02/07(木) 22:36:19 ] ネームぱくられました
826 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:44:43 ] たぶん、D言語では商標とれないよね。
827 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:06:27 ] >>813 ソースコード見てみたーい
828 名前:813 [2008/02/07(木) 23:19:49 ] いろいろしてみたけど結局分からないorz >>827 というわけで載せるためにソース整形してきます。
829 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:30:07 ] >>815 あ、ほんとだ。 向こうのnewsでも「"D"も有名になったもんだ =P」なんて皮肉られてる……のかな? 英語ヨクワカラナーイ。
830 名前:813 [2008/02/07(木) 23:50:35 ] ↓DLLのソース // test_hook.d module test_hook; import win32.winbase; import win32.windows; static import tango.stdc.stdio; import tango.stdc.stringz; import tango.io.Stdout; pragma( lib, "tango-user-dmd.lib" ); HANDLE g_hModule = cast(HANDLE) null; // DLLのモジュールハンドル HHOOK g_hHook = cast(HHOOK) null; extern (C){ void gc_init(); // GC初期化 void gc_term(); // GC終了 void _minit(); // モジュールリスト初期化 void _moduleCtor(); // モジュールコントラクタ実行 void runModuleUnitTests(); // 単体テスト実行 }
831 名前:813 [2008/02/07(木) 23:51:14 ] extern(Windows) BOOL DllMain( HANDLE hModule, ULONG ulReason, LPVOID pvReserved ){ switch(ulReason){ case DLL_PROCESS_ATTACH: gc_init(); // GC初期化 _minit(); // モジュールリスト初期化 _moduleCtor(); // モジュールコンストラクタ実行 runModuleUnitTests(); // 単体テスト実行 g_hModule = hModule; break; case DLL_PROCESS_DETACH: gc_term(); // GC終了 tango.stdc.stdio._fcloseallp = null; // DLLが終了しても標準入出力を閉じないようにする。 break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: return false; } return true; } export extern(Windows) void HookStart(){ g_hHook = SetWindowsHookEx( WH_KEYBOARD, cast(HOOKPROC)&KeyboadProc, g_hModule, 0 ); }
832 名前:813 [2008/02/07(木) 23:51:53 ] export extern(Windows) void HookStop(){ UnhookWindowsHookEx( g_hHook ); } extern(Windows) LRESULT KeyboadProc( int code, WPARAM wParam, LPARAM lParam ){ if( code != HC_NOREMOVE && code >= 0 ){ MessageBox( cast(HWND)null, toString16z( "Key pushed" ), toString16z( "test_hook" ), cast(UINT)0 ); return 0; //処理をした。 } return CallNextHookEx( cast(HHOOK)0, code, wParam, lParam ); }
833 名前:813 [2008/02/07(木) 23:53:57 ] ----------- ↓main.exeのソース // main.d module main; import win32.winbase; import win32.windows; import tango.stdc.stringz; pragma( lib, "tango-user-dmd.lib" ); const wchar[] HOOKDLLNAME = "test_hook.dll"; alias extern(Windows)void function() FUNC; FUNC HookStart, HookStop; void main(){ auto hMod = LoadLibraryW( toString16z( HOOKDLLNAME ) ); HookStart = cast(FUNC) GetProcAddress( hMod, "HookStart" ); HookStop = cast(FUNC) GetProcAddress( hMod, "HookStop" ); HookStart(); MessageBox( cast(HWND)0, toString16z("フックしています。"), toString16z("main"), cast(UINT)0 ); HookStop(); FreeLibrary( hMod ); }
834 名前:813 [2008/02/07(木) 23:58:15 ] ----- // test_hook.def LIBRARY 'TEST_HOOKDLL' EXETYPE NT CODE PRELOAD DISCARDABLE DATA PRELOAD SINGLE EXPORTS HookStart @1 HookStop @2 -------- 以上です。 環境はtango 0.99.4 ( dmd 1.024 ), Binding Win32API -Unicodeでコンパイル。
835 名前:813 [2008/02/08(金) 00:03:33 ] あ、-version=Unicodeのことです; フック中に他のアプリでキーを押すとMessageBoxを出します。 が、実際は反応してくれません。メモ帳起動->main.exe->メモ帳でキーボードを押す、として反応しませんでした。 さっき気づいたのですが、なぜかほかのコマンドプロンプト上のキーボード操作には反応するみたいです。
836 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:50:18 ] Dがなんか特殊なことやってんのかもね。 俺もグローバルフックプロシージャ内で try/catch() 文書いたら全プロセスがこけた。 SEHフレームの構築で何かやらかしてんじゃないかと予想してるが。
837 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:00:42 ] 2chにソースはるなボケ
838 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:03:48 ] 罵倒するほどでもないが、読みにくいのは確かだな。
839 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:09:25 ] 【技術】マイクロソフト、新開発言語「D」を開発中[08/02/07] news24.2ch.net/test/read.cgi/bizplus/1202379742/
840 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:10:40 ] なんどめだ
841 名前:813 [2008/02/08(金) 01:11:27 ] すみません、スペース入れようかどうか迷ったのですが結局入れませんでした。 全角スペース挿入だとコンパイルする人が半角に直すのが面倒かと思い、 nbspを入れるのも考えたんですけど、それが一般的なのかわからなかったので、そのまま入れました。 ソースを張るときはどうするのが一般的ですか?
842 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:15:12 ] 1レスに収まりきらないなら、適当にアーカイブ化してどっかのアップローダにでも上げればいいんじゃないかな。 複数ファイルだとビルドするのも面倒だしねえ。
843 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:19:25 ] >>776 >>811 >>820 >>839 開発開始を宣言しただけなのに大々的に取り上げられすぎだろw
844 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:23:48 ] >807 stringがエラー扱いにならなくなってるな。ありがたい。
845 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:32:08 ] おお、Descentがstringをchar[]として認識するようになった。 全体的にautocompletionが賢くなって、aliasの扱いが改善されてるらしいな。 "str".tolower()とかはまだエラーって言われるけど。
846 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:34:21 ] ttp://blogs.itmedia.co.jp/satohiroshi/2008/02/d-3d55.html こうやって宣伝に乗っかるわけか。
847 名前:デフォルトの名無しさん [2008/02/08(金) 01:45:45 ] >>846 ちょw DigitalMars完全否定w
848 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:00:25 ] tango入れてないので、Phobos用に少し書き換えてやってみたけど、症状ほぼ同じ。 自分とこの環境では、メモ帳が固まったまま応答無くなる。
849 名前:813 [2008/02/08(金) 02:10:22 ] あ、出来た... defファイルの DATA PRELOAD SINGLE を DATA PRELOAD にすることでちゃんとフック出来ました。 defファイルの書式(メモリ指定あたり)とか調べても見つからなかったからサンプルのまま使ってたけど、ここだったんですね。 C++の方ではdefファイルを書かずに作っていたので普通にフック出来ていたようです。 >>848 試していただいてありがとうございます。 次からは長いコードはアーカイブするなり気をつけますm あと、defの書式やオプションの解説はどこかにありますか?
850 名前:813 [2008/02/08(金) 02:17:40 ] 勘違い。VC++の方でもdefは書いてたけど、EXETYPE/CODE/DATAの設定が無視されてました。
851 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:25:36 ] >>849 www.digitalmars.com/ctg/ctgDefFiles.html
852 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 06:06:17 ] >>846 あれだな、情報操作に一番騙されるのって、「自分の頭で咀嚼する」意欲だけはあるけど、 調べる気があんまり無く、誘導されるままに「自分なりの見解」に辿り着いて満足しちゃうタイプの人間だよな。 この短いブログを書く時間で、D言語が既に存在するかどうかなんて調べられるのに、 「あるかどうか」という事実より、「実はなかったということのようです」という見解をひけらかすほうが大事なわけだ。 まったく思考が発展しない馬鹿のほうが、その点では無害かも。
853 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 07:38:26 ] 製品化してないものは存在しないという考えかもね。 DMDなんて同人サークルが勝手に作った独自言語程度に思われてたらやだな。
854 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:26:11 ] digital marsって会社のポジションがよくわからん。 IT世界的に見たらどれくらいの影響力があるんだろう。
855 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:03:49 ] IT世界とかあやふやすぎるだろ・・・ Cコンパイラ界、ECMAScript界なら 結構いいはずだぜ! たぶん
856 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:37:19 ] トップページに会社情報がないあたりが何とも。 ウィキペディア(英語のほう)みた感じだと 小規模なベンチャーかな?って思った。
857 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:07:13 ] digitalmarsは本当にWalterタンの同人サークル程度のもんだが。 コンパイラ界でWalter Brightの名前を知らん人間はいないだろ常識的に考えて、くらいの影響力。
858 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:21:56 ] それはともかく次スレからはDigitalMars Dって書かないといかんな めんどくせえ
859 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:39:27 ] 後発がMicrosoft Dって書くもんじゃね?
860 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:53:44 ] >>859 まったくだプリプリ
861 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:38:04 ] 文字コードの変換はこのモジュールを使うしかないんでしょうか。 www.wikiroom.com/sakurai/index.php?DJcode これを使ってみたんですが、全く同じデータを渡してもたまに末尾にゴミが混じるようで変換時に末尾に〓がついたりします。
862 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 17:53:45 ] encoding周りをちゃんと実装してるライブラリは見ないね。 iconvとか使ってみるといいかも。
863 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:28:57 ] >>861 キミがそいつのバグを取ってくれたら、38万の日本のDユーザが喜ぶよ
864 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:56:45 ] >>668 ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF >特に仕事に使ったという事例。2chにいたらしい
865 名前:デフォルトの名無しさん [2008/02/08(金) 18:58:46 ] Eclipse起動しただけでメモリ83MBくってる。。。でかすぎ. ちなみにVC++2008Expressは28M
866 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:15:20 ] もはやメモリ1G五千円の時代だよ。 28と83なんて大して変わらない。
867 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:16:17 ] 誤差だな
868 名前:809 mailto:sage [2008/02/08(金) 20:58:29 ] >>809 どなたか、よろしくお願いします・・・
869 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:03:13 ] >865 GoogleDesktopに600Mほど食われたのに比べればどうということはない
870 名前:デフォルトの名無しさん [2008/02/08(金) 21:06:11 ] >>866 メモリ512MBノート使ってますorz 増設しようかと思ったけど今主流のノートメモリの一つ前のタイプらしい。 新しいノートに変えたときに流用出来ないんで、やめときました。
871 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:12:36 ] >>866 >メモリ1G五千円 ノートか? 今は樋口一葉で2GB買えるだろw
872 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:14:34 ] バルクか
873 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:22:32 ] >>871 そりゃ味を選ばないならいくらでも食えるだろ。
874 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:29:45 ] >>868 なぜ自分で試さない? ttp://www.dsource.org/projects/descent/wiki/DebuggingPrograms ttp://ddbg.mainia.de/doc.html
875 名前:809 mailto:sage [2008/02/08(金) 21:54:48 ] >>874 うわぁ、すいません m(_ _)m ありがとうございます!
876 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:07:45 ] >>873 ノーブランドだったら1GBで英世2枚だよ メーカー製でも4枚要らない そのくらいのことも調べずに価格の最新事情を指摘されたくらいで「味を〜」とか騙らないでね
877 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:23:09 ] 何を必死になってるのかさっぱり分からん。
878 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:23:36 ] 言っとくけど俺をあまりナメないほうがいいよ vipでコテハンやってるしこのスレ潰すくらいの影響力は持ってるから くだらないことで刺激して後悔しないようにね
879 名前:デフォルトの名無しさん [2008/02/08(金) 22:25:34 ] >>878 ぺろぺろ
880 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:28:27 ] この味は! ・・・ウソをついている『味』だぜ・・・
881 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:28:59 ] じゃあつぶせば? それとも口だけ?
882 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:30:34 ] まったくだ
883 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:33:11 ] >>878 えーと・・・ この場合つっこんだら負けなんだろうな。
884 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:33:28 ] 最近はやってきたコピペだしな
885 名前:デフォルトの名無しさん [2008/02/08(金) 22:34:40 ] >>884 だよね。さっきSleipnirのスレで同じ文章見かけた。
886 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:35:02 ] 俺もgdi++スレで見たよ
887 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:38:11 ] 他所のスレで見かけたコピペをすぐに使いたくなっちゃう子って可愛いよね。
888 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:41:03 ] たった3行でここまで哀れみを誘うコピペ作ったやつも凄いな。 俺さっきから得も言われぬ哀れみを感じて表情が微妙なままだ。
889 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:44:51 ] それマジで言ったん?ソースあんならすぐ出せ マジなら2ちゃんねら総力を上げて潰すが
890 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:45:30 ] 大漁だなw お前らコピペだと分かってるならスルーしろよw それくらいもできないのかこのオタクどもはww
891 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:48:02 ] この流れは参加しないと勿体ないとおもっちまって。 D言語スレでやるこっちゃないけどな。
892 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:48:38 ] いまどき、後釣り宣言は流行らねえだろ
893 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:55:02 ] class Fileを使いforeachで行ごとに処理する場合、 foreachの頭で毎回ディスクにアクセスしてデータを取り出してるんでしょうか? BufferedFileを使ったら速度が20倍になったんですが。
894 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:59:22 ] 正直釣りや煽りならそういって欲しい派だけどな俺は 釣りも後味良いのと悪いのとがあるんだよな そういやなんだか2ちゃんねるの中で話されていること(煽りやら学歴厨やネトウヨその他の・・・)を マジに取ってしまってる人が最近出始めてきてるように思う こりゃあやばいかもわからんよ10年後は
895 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:01:50 ] >>893 そうだよ。それも1byteずつReadFileなりreadなりしてるよ。 なんで、ソースついてるのに読まないのか不思議だ。
896 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:03:28 ] 知人の話ではいい年こいた大人が会社で自分はにちゃんねらだのVIPPERだの大喜びで宣伝してるらしい。 年の離れた上司がそんな感じで萎えるとか愚痴られた。10年経たなくとも一部はもう駄目かもしらんね!
897 名前:デフォルトの名無しさん [2008/02/08(金) 23:03:46 ] Descentでtangoを使う為の設定が分からんorz
898 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:09:49 ] >>895 そうなんですか。。。 単純な文字列変換なんですがperlより遅くなってしまってどうなってるのかちょっと不思議に思ったので。 ソースは読んでも多分わからないので読まなかったのです。 モジュールの中身を知らなくても動くには動くので今まで気にしたことがなかったのですが。 これからは気にして読んで理解することからはじめようと思います。 どうもです。
899 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:19:08 ] >>897 TangoのウェブサイトからDMDバンドル落としてきて、 D>Installed Compilersからパスを設定すれば普通に動いたよ。
900 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:27:39 ] 813氏いる? プログラムを実行してグローバルフックかけた状態で、ファイルのショートカットのプロパティを開いてリンク先を変更すると、エクスプローラがフリーズして電源切るしかなくなるのだが、同じ症状出る? 俺は、これがあるせいでDで作るのをあきらめた過去があって、ほかの人はどうなのかちょっと聞いてみたい。 GDCやVC++だと大丈夫なんだけどな。 ちなみにOSはXP。
901 名前:813 [2008/02/08(金) 23:33:55 ] >>900 フックの種類は?
902 名前:デフォルトの名無しさん [2008/02/08(金) 23:36:45 ] >>899 出来ました。設定する前にプロジェクト作って、その後に設定したからエラーのままだったらしい。 設定後に一端プロジェクト消してもう一回作ったらちゃんと動いた。 設定変えたらちゃんとプロジェクトに反映してほしいな。。再起動はさせてたんだけど。
903 名前:900 mailto:sage [2008/02/08(金) 23:40:09 ] >>901 >>830 あたりのコードと同じ、普通のキーボードフック。 tango入れてないから試せないけど、このコードでも同じ症状が出るはずなんだけど。
904 名前:デフォルトの名無しさん [2008/02/08(金) 23:42:23 ] あげ
905 名前:813 mailto:sage [2008/02/08(金) 23:47:25 ] >>903 キーボードフック中にリンク先変更で?まさかねーw と思いつつ試したらフリーズしましたorz|||
906 名前:813 mailto:sage [2008/02/08(金) 23:49:27 ] しかもタスクマネージャからKILLしても死なないし、CPU使用率0%のまま。 explorer何者だよ...
907 名前:813 mailto:sage [2008/02/09(土) 00:00:01 ] ちなみにWM_GETMESSAGEフックではならなかった。
908 名前:900 mailto:sage [2008/02/09(土) 00:16:04 ] 仲間がいたw GDCやVC++だとなんともないから、たぶんリンカが悪いと思うんだけど、モジュール定義ファイルをいくらいじくっても改善しなかったんだよね。 >ちなみにWM_GETMESSAGEフックではならなかった。 WM_GETMESSAGEはすべてのメッセージをピックアップするみたいだから、必要なメッセージを抽出すれば使えるかもしれない。 明日にでも試してみるよ。 ありがとう。
909 名前:813 mailto:sage [2008/02/09(土) 00:30:21 ] WH_KEYBOARD_LLでも発生しなかった。 代用ならLLかGETMESSAGEだな。 ちょっと調べたことを列挙。 LLはNT/2000だけ、DLLも作成しなくていい。 GETMESSAGEはメッセージの書き換えとかも出来る。もちろんWM_KEY系も来る。 WH_KEYBOARDはWM_KEYUP/WM_KEYDOWNの時に呼ばれるらしい。おそらくGETMESSAGEの場合と同じタイミングのフック。 だからGETMESSAGEで代用は出来ると思います。 でもDLL自体の問題がどうにもならないのは少し気持ち悪いな。
910 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:31:03 ] 自分もやってみた。確かにフリーズ。クリック何回かしたら勝手に終了。 フォルダオプションで、別プロセスでフォルダ開くようにしてるから メインのエクスプローラには影響なし。 タスクマネージャが起動できるのなら、電源切らんでも、 メニューのファイル→新しいタスクの実行で、 explorerを入力してOK押せば回復するはずだけど。 これ使った、ソースとexe+dll ttp://a-draw.com/uploader/src/up31499.zip.html
911 名前:813 mailto:sage [2008/02/09(土) 00:34:40 ] >>910 新しいタスクの実行も試してみたけど反応無しでした。既にexplorerのプロセスがあるから多重起動だと思われたんじゃないかと。 再起動じゃなくてタスクマネージャからログオフして回避した。
912 名前:813 mailto:sage [2008/02/09(土) 00:38:59 ] >>910 解凍するとup31499って名前のファイルが一つだけ。。。
913 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:45:56 ] 失礼。直リン対策に引っかかるね。 ttp://a-draw.com/uploader/upload.html up31499.zip
914 名前:900 mailto:sage [2008/02/09(土) 00:48:31 ] >>909 俺もちょっと過去に調べたことを・・ LLはフックだけならDLL作らなくていいけど、他アプリでの固有の状態、たとえば、キーボードメッセージがきたときにコントロールキーの状態が知りたいというときには、やっぱりDLLを作る必要がある。 GetKeyboardStateはローカルな状態しか取得できないから、他アプリ上でフックしたときの状態はDLLの中のプロシージャから取得するしかない。 だから、GETMESSAGEにはちょっと期待。 >でもDLL自体の問題がどうにもならないのは少し気持ち悪いな。 これには同意。
915 名前:813 mailto:sage [2008/02/09(土) 00:48:48 ] いえ、zipのDLまではしたんだけど、解凍するとなんか変です;一応二種類の解凍ソフトで試してみましたが。
916 名前:910 mailto:sage [2008/02/09(土) 00:58:23 ] >>915 中身は、813さんが貼ったソースを、phobosで動くようにしただけの物です。
917 名前:813 mailto:sage [2008/02/09(土) 01:02:50 ] >>916 えーと、>>912 に書いたように、解凍すると中身がup31499というファイル一つになってます; アップローダが何か変なことしたんじゃないかと思いますが。
918 名前:900 mailto:sage [2008/02/09(土) 01:11:57 ] >>917 自分は 1.913のアドレスをブラウザで開く。 2.up31499.zipのリンクをクリックする。 3.さらにup31499.zipのリンクをクリックする。 でちゃんと hook -bin --main.exe --test_hook.dll -src --main.d --test_hook.d --test_hook.def という内容のものが出てくるよ。 Noah使用。
919 名前:813 mailto:sage [2008/02/09(土) 01:17:51 ] 一応解凍出来ました。でも動作は変だ。 zipを保存->Lhaforgeで解凍->up31499.zip_extractedというファイルが出来る->それをLhaforgeで解凍->hookフォルダが出来る。 なんだろ、これ、二重圧縮?
920 名前:813 mailto:sage [2008/02/09(土) 01:22:19 ] ちなみにLhaplusで解凍したら>>912 の現象。 zip_extractedでぐぐって見たけど、同じような事例があるだけですね。
921 名前:900 mailto:sage [2008/02/09(土) 01:26:25 ] >>919 こちらでは、7-zipでも正常だった。 ソフトとの相性?
922 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 02:00:29 ] ところで、TangoのGCではminimizeができるようになるのかな? なんかだれかほしがってた気がするけど。
923 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 02:04:17 ] 極窓に投げると.gtzと判別されますよ、っと
924 名前:813 mailto:sage [2008/02/09(土) 02:07:43 ] gtz...検索しても情報無し。と。
925 名前:813 mailto:sage [2008/02/09(土) 02:21:16 ] >>923 あ、tgzですね。
926 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 03:24:13 ] >>859 D++(笑) D#(笑) とかw
927 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 04:36:27 ] でもC++やC#はCから派生したって意味だろうし、これは全く違う言語だからなあw
928 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 05:36:26 ] Eclipseってもっさりしてるし欲しい機能がどこにあるか分からなくて疲れる。
929 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 07:22:49 ] おまいら当然Dのリンカが吐くモジュールのOpt.OSVer[0]とOpt.SubSysver[0]って毎回書き換えてるよな?
930 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 07:27:22 ] >>929 素直にdefファイルなり/exet: /su:なりで指定しろよ…
931 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 09:20:45 ] -gオプション付きでコンパイルしたものって配布しちゃだめなの?
932 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:41:35 ] >900 確かにフリーズするが、ほっといたら直ったが(一分くらい?) たしかに、このバグはちょっと困るなぁ……
933 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:19:37 ] 自分用に導入ガイド書いたんだが誰か添削してくれないかなぁ。 導入ガイド。@DMD+Phobos編@Windows@20080209 1,DIGITAL MARSのサイトからDMD.zipとDMC.zipを落としてくる。 --筆者はVer1.015で試している。 --dmd.2.010.zipでも同じ構成と思われる。 --圧縮ファイルは念のためとっておきましょう。 2,両方を解凍。 --DMD.zip->(DMDとDM) --DMC.zip->(DM) 3,DMD側のDMにDMC側のDMを上書き。同じフォルダにDMDとDMになる。マージするんです〜。 4,任意でPATHを通す。 --c:\dmd\dmd\bin;c:\dmd\dm\bin とか。Pathの区切り文字は ; です。 ---場所は貴方が決めます。 --XPの場合:マイコンピュータを右クリック->システムのプロパティ->詳細設定タブ->環境変数ボタン->Path ---開発ユーザのユーザPATHにするのが良いと思います。 5,テストします。 --ソースを用意しましょう。 ---文字コードはUTF-8オンリーです。SJISとかEUCとかではだめです。 --お好みでbudやdsssを用意しましょう。 ---dsss:www.dsource.org/projects/dsss/ ----筆者は使ったこと無いです。 ---bud:www.dsource.org/projects/build/ ----budはpath上の日本語を許容しません。
934 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:22:05 ] わなDで十分な気もしないでもない
935 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:43:15 ] OSを良く吹っ飛ばすので実行ファイル系はいったんなくなっちゃうんです。ウイルス怖いので。 で、手元にまとめて置いておきたかったんです〜。 そういえば、わなD有りましたね。。。 ちょっとのぞいてこよう。
936 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:48:44 ] 改めて読んでみるとわなDで十分なきがしてきた。orz Descentのことも書いてあるし。 車輪の再発明再び!XP
937 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:57:49 ] EclipseをDで書き直すって需要ある?
938 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:58:27 ] 質問なんだけど、数学の行列って必ず長方形なり正方形なの?立方体にはならない?
939 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:59:39 ] >>938 誤爆? なんとなく言いたいことが不明だが テンソルのことかな? 行列の添え字が3つ以上あったりするやつ
940 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:03:07 ] >937 「もっさりしないEclipse」はEclipseユーザの誰もが夢見る代物だと思う。 実現するかはともかく。
941 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:04:48 ] >>937 D言語で書かれたIDEは、D言語が実用にたえることの証明になると思うよ。 がんばれ
942 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:07:05 ] >>939 あー、行列って言わないのね。もっと大きな体系があるのか。 勉強になった。Thx!
943 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:07:39 ] >>938 >>939 の追記だけど普通に多次元行列は定義できるよ んで扱いやすい性質を持ってるのがテンソルと呼ばれてる 大雑把に言えばこんな感じかな?
944 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:13:16 ] >>943 把握した。・・・多分。 テンソルって言うのは初めて聞いたよ。 調べてみる。俺、文系だけど〜。^^;
945 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:25:39 ] ここ何スレだよwww XX年後、D言語にテンソル型が実装されることをこのスレの誰も知る由がなかった。
946 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:40:05 ] その前にD言語はMSに乗っ取られてしまいましたとさ。
947 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:51:59 ] しかしなんとMSがDMを買収 めでたしめでたし
948 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:11:28 ] 行列用クラスを作りたいけど、テンソルも最初から考えるかどうかは悩むよね。 FORTRANとかMATLAB(GNU Octave)とかがあるから、それに対抗しようとするとさらに悩める >>944 こういうのがある ttp://www.oonumerics.org/blitz/
949 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:16:43 ] テンソル使うならやっぱMathematicaじゃね? 計算の速さ考えるなら別だけど
950 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:37:18 ] その中間としてSun Fortressなんかが出てきたりとか。 いろいろありますねえ。
951 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 21:53:06 ] 個人的には線形代数だと三角行列と対角行列が欲しい。 んで、対角化や特異値分解とかやってくれるの。 粗行列と Lanços 対角化もサポートしてくれると最高。
952 名前:デフォルトの名無しさん [2008/02/09(土) 21:54:40 ] でOcamlも結構よくね? 手続き型と静的なシンボルリストをあわせもつSystem.out.println標準内蔵だしな
953 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:09:35 ] そういえばD言語に標準の国際化機能ってあるの?C#のサテライトアセンブリみたいな。 ないなら何が一般的かな?
954 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:14:55 ] >>802 遅レスだけど…。 tangoのmutexがどうゆう仕様かは知らないんだが、 synchronized文はロック・アンロック(ロック変数の処理)をプログラマが 気にしなくていいのが、pthreadとかのmutexと違うところ(良いところ)だと思う。 例外発生時とかのイレギュラーな動作の時もアンロック保証がされてる所。 変数に対してじゃなくて、制御フローに対するatomicの保障を言語レベルで行う ってのはうれしいことじゃないかな。 (変数に対するatomic保障もできるけど) スレッドプログラミング超初心者の時に、下みたいなプログラムを書いて泣いた覚えあり。 下は極端な例(&雰囲気)だけど…。 下の例で、ほかにたとえば関数func()内で例外が発生してどっか飛んだ場合のアンロックは…、とか。 まあ、他の人はそんなミスしないのかもしれない…。 int a; // ロックに使用するグローバル変数 int hoge() { bool b; lock(a); // ロック開始 b = func(); if (b){ return 10; // bがtrueだとロック解除されないで、hoge()を抜けてしまう… } unlock(a); // ロック解除、falseの時のみ解除される return 0; } 基本、クリティカルセクションは必要最低限で。 そういう意味で、上の例のプログラムはよくないかもね。 (もしfunc()内全体の処理をロックする必要がないなら)
955 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:18:54 ] スコープガードを使うのも手だね。 lock(a); scope(exit) unlock(a);
956 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:49:15 ] 結構スコープガードって便利だよなー
957 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:51:48 ] 便利すぎ あれ無しでは生きていけない体になりました 特に害も無さそうだし
958 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:25:14 ] >>953 マルチリソースっていう感じのはまだなさそう。 文字コード自体はUTF-8採用で国際化という感じになってる。
959 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:25:16 ] 行列演算もいいけど、複素数演算ももうちょっと充実してくれないかな。 せっかくネイティブで複素数対応してるんだし。
960 名前:デフォルトの名無しさん [2008/02/10(日) 01:47:55 ] ぱっと見C言語なんだが。
961 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:52:04 ] いきなりそんなこと言われてもどう返事してあげればいいのか分からない。
962 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:54:05 ] >>960 GC搭載ですよ。 Cライクって事は過去の遺産、コーディングの癖とか使えるって事です。適合してるかは別ですが。
963 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:57:12 ] GCってステキ
964 名前:デフォルトの名無しさん [2008/02/10(日) 02:51:27 ] なるほど、{ } このトークンは亜種の言語処理系でもよく採用されている。 今更言語Dを勉強するほど若くもないので参考にしておきましょう。 デジタルマースにもこのDコンパイラが確かにあった。
965 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:55:28 ] 日本語でおk
966 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 03:10:00 ] >>864 見落としてた。ありがと >>668 本人かどうかわからんけど、発表する気があるなら時間配分とか(NDAがらみで録画公開不可とか)あると思うんでスピーカの誰かに連絡くれまいか 当日いきなり「お、そこに○○がきてるじゃないか。お前のほうが詳しいからお前話せ」みたいなのもカッコいいとは思いますが >>686 漏れだ。ただ今のメンテナは漏れじゃないからサイトやドキュメントは任せてる
967 名前:デフォルトの名無しさん [2008/02/10(日) 08:49:33 ] GCゲーム向かない C++だって簡単にGC実装できるんだから donguri.sakura.ne.jp/~shock8/wisper/gc1.html リアルタイム性が要求されるものはメモリを手動で管理し、特にその必要がないものにはGCで管理の負担を減らすといった使い分けができる
968 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 08:54:31 ] >>967 ゲームにもよると思うけどな。 でも、今時のGCで困るほどリアルタイム性が要求されるゲームなんて そうそうないと思うぞ。
969 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:00:18 ] >>967 DもGC使う/使わないは切り替えられると思う。 GC使う場合でも www.sun-inet.or.jp/~yaneurao/dlang/Chapter-06.html あたりを気をつければゲームも問題なく作れる。
970 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:31:26 ] >958 そっか、ってことはまずはそこから作らなきゃならないのか。ありがとう
971 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:33:09 ] 向かないつっても実際作って公開してる人はいるし(ABAさんとか)、企業製品でもGC使うゲーム結構多いと思う。 うぉるたんも力説してるけどGCは怖くないよ!
972 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:19:56 ] ストップザワールドが怖かったら、 その時だけ一時的に GC 止めればいいしな。
973 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:28:30 ] 今時on the flyじゃないGCなんて・・・
974 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:39:12 ] そういう妄信的な姿勢って薄気味悪ささえ覚える
975 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:46:00 ] もともとGCは補助であってプログラムのメインじゃないし、シンプルなもので十分だと思う。
976 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:47:21 ] もっと高度なGCが必要ならプログラマ側で交換すればいいだけ。
977 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:49:39 ] Dって完全にGC使わないなんてことできるんですか? 無理無理無理無理
978 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:52:42 ] scope 文で事足りる処理しか書かなければ可能。 実用アプリじゃほぼ無理だろうが。
979 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 12:56:59 ] >>977 方法を調べたことは無いけど、 www.kmonos.net/alang/d/2.0/dll.html#Dcode のDLLのコンパイルの説明で >dmd mydll.obj \dmd\lib\gcstub.obj mydll.def -g -L/map >mydll.obj を mydll.dll という名前のDLLへとリンクします。 gcstub.obj は必須ではありませんが、これをリンクすることで、 不要なGCコードを省くことができます。 およそ12Kbの削減になります。 ってあるのが関係あるかも GCをオフなるようにしてGCコードを省くようにすればGCの機能は消えるんじゃない?
980 名前:979 mailto:sage [2008/02/10(日) 12:59:08 ] >>977 >>978 あ、機能の消し方じゃなくてGCの要らないコードの書き方の話?
981 名前:977 [2008/02/10(日) 13:34:57 ] 俺が言いたいのは、そんな泥臭い方法でGCを無理に押さえつけなくてもC++なら使いたいときだけGCが使えて便利だねって話
982 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:42:25 ] 何か妄信的なC++厨が迷い込んでるな そこまで言うならC++でGCを実装してABA GamesのOpenGLゲームやXNAのサンプルゲームと同じクオリティを省メモリで作って上げてくれ C++なら便利みたいだからD言語やC♯より楽にGCアプリを作れるんだろ?
983 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:43:51 ] >>981 まあ確かに簡単にオフに出来ないのなら言語仕様変えて欲しいな。(俺は今の言語仕様でGCを完全に切れるかは知らない) でもDは標準でGC有り、C++は標準でGC無し。どちらも有り無し選択可能ってだけで変わらないんじゃないかな。 C++でGC使うのに外部ライブラリ使う準備する手間と、DでGCを切る手間はどちらも変わらない気がする。
984 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:44:33 ] C++ で GC って C++/CLI を想定しているのだろうか?
985 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:48:30 ] BoehmGCじゃないの
986 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:52:43 ] もうそろそろ次スレ必要じゃね?誰かよろ。俺はホスト制限で弾かれた。
987 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:21:40 ] >>975 というような事を言う奴にかぎってメモリリークさせるんだよw
988 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:50:03 ] GCの制御に多少手を取られても、 言語組込みの方がコードは圧倒的に読みやすくなると思う。 それでもC++を使う方がベターな分野は常にあるんだろうけど、 そういう分野はできればこの先減っていって欲しい。 GCをもっと簡単かつ細かに制御できるれば、Dの適用範囲を広げられるかもねぇ。
989 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:53:01 ] 本来GCはOSに組み込まれいているべきで(ry
990 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:10:56 ] Part17: pc11.2ch.net/test/read.cgi/tech/1202623572/
991 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:15:09 ] >>990 サンクス
992 名前:975 mailto:sage [2008/02/10(日) 15:16:55 ] >>987 すまんw 俺高校生の趣味プログラマだから、大規模プロジェクトとか経験無しで言ってるw
993 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:20:16 ] >>990 乙牌
994 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:29:52 ] しかし最近流れが速くなってきたな げいつのせいか
995 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:33:19 ] Descentのおかげじゃないか
996 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:37:12 ] だな。どうせMSのは製品になったら名前変えるだろうし、Descentのが気になる。
997 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:41:27 ] >>994 テンソルのせい
998 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:44:33 ] BoF、Descent、MS-Dと、話題が集中したからな…… むしろMSには、OSの開発言語を刷新するような モダンなDリスペクト言語を期待してたのになぁ。
999 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:46:07 ] Part17: pc11.2ch.net/test/read.cgi/tech/1202623572/
1000 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:46:28 ] Part17: pc11.2ch.net/test/read.cgi/tech/1202623572/
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。