1 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:05:43.45 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 ■本家 dlang.org/ - 公式(英語) www.kmonos.net/alang/d/ - 公式の和訳 d.puremagic.com/issues/ - D言語バグ報告 https://github.com/D-Programming-Language - D言語開発リポジトリ ■Wiki dusers.dip.jp/ - D言語友の会(日本語フォーラムあり) prowiki.org/wiki4d/ - Wiki4D(公認Wiki) ■前スレ D言語 Part29 toro.2ch.net/test/read.cgi/tech/1329714331/ ■過去スレ、関連スレ makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
51 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/09(木) 14:17:06.42 ] >>50 ぐぐったら d2d1.h, d2d1helper.h, d2d1helper.h, d2derr.hって出てきた。 ポートするぞ。
52 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 17:37:25.07 ] githubを使い始めたり 片山くんが何気に成長しとるw
53 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/09(木) 22:10:43.23 ] d2d1、d2d1helperのポートは難易度高い
54 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:53:52.41 ] フォント表示にdwrite.h、画像表示にwincodec.hも必要。
55 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:54:51.49 ] 泣き言は完成してから聞く
56 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 00:01:26.59 ] ゲーム用サウンドはDirectSoundが廃止になって今はXAudio2が主流だから、DirectXをサポートするならXAudio2はあったほうがいいかも
57 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 15:59:09.76 ] d2dはcomのモデルみたいだから大変かもね
58 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 19:49:01.67 ] ttp://dpaste.dzfl.pl/88cd7bc7 > 878.d(6): Error: function compileme878.C2.method cannot override a non-virtual function ちょっと何言ってるか分かんないですね
59 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 20:02:11.02 ] ttp://dpaste.dzfl.pl/6f91f1d6 というかpackageってなんなんだ? 漠然とmoduleのことだと思ってたんだけどとんだ間違いで俺が間抜けなだけなのかな
60 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 20:19:35.53 ] パッケージはモジュールの集まり もっとわかりやすく言うとディレクトリ
61 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 20:21:04.03 ] >>60 なるほろThx そういえばJavaもそうだった だとするとpackageでvirtualじゃなくなるのは単なるバグか
62 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 20:59:44.38 ] d.puremagic.com/issues/show_bug.cgi?id=1161 まだこんなのも残ってるんだぜ
63 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 21:17:00.70 ] privateで装飾すると非仮想関数として固定されるのと同じじゃない?
64 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 21:26:54.11 ] 仮想関数 ttp://www.kmonos.net/alang/d/function.html#virtual-functions 全ての非staticかつ非privateかつ非templateなメンバ関数は、 仮想関数です。 これは非効率的に聞こえるかもしれませんが、 コード生成時にDはクラス階層を全て把握していますので、 オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。 アクセス保護属性 ttp://www.kmonos.net/alang/d/attribute.html#ProtectionAttribute package は、モジュールは違っても同じパッケージに属するコードからの アクセスは許可するようにprivateを拡張したものです。 これは、モジュールがネストしたパッケージの中にある場合は、 最も内側のパッケージについてのみ適用されます。
65 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 21:43:49.25 ] するとJavaのpackage-privateみたいな属性は存在しないってことかな
66 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 23:42:06.27 ] 納得いかない import std.stdio; extern(C) void f(int n) { writeln(typeid(&f)); } void main() { f(0); } ⇒ void()*
67 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 23:55:09.40 ] writelnがアレなだけかね pragma(msg, typeof(&f)); // void function(int n)
68 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 23:55:46.33 ] あ、typeidか
69 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 09:26:21.49 ] Dで使用する以下の関数を持つdllの作成について教えてください。dll作成はVisualStudio2010(32bit)を利用します。 現状以下の手順でdllを作成&使用していますが、関数呼び出し時object.Error: Access Violationとなってしまいます。 どこかおかしいところがあれば指摘お願いします。 以下手順です 【1.dll作成】 --- xxx.c --- __declspec(dllexport) int __stdcall func(int (*f)(int, int), int x, int y); int __stdcall func(int (*f)(int, int), int x, int y){ return f(x, y);} 【2.implibでxxx.libを作成】 implib /system xxx.lib xxx.def ---xxx.def--- LIBRARY "xxx.dll" EXPORTS _func@12 【3.dソースで利用】 dmd src.d xxx.lib --- src.d --- extern(System){ int func(int function(int, int) f, int x, int y); int f0(int x, int y){return x + y;} } void main(){ func(&f, 1, 2); // object.Error: Access Violation }
70 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 09:28:30.65 ] 訂正 x func(&f, 1, 2); // object.Error: Access Violation ○ func(&f0, 1, 2); // object.Error: Access Violation
71 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 09:51:13.09 ] xxx.cのfuncの引数のfにも__stdcallをつければ通る
72 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 10:08:47.76 ] >>71 どうもです。動きました。
73 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/08/11(土) 11:32:33.86 ] Wonders ver.1.05 https://github.com/katahiromz/wonders katahiromz.web.fc2.com/d/wonders.html wincodec, dispdib, wownt{16,32}, directx/{d2derr,dxgiformat, d2dbasetypes,d3d10_1,d3d10sdklayers,d2d1,d2d1helper, d3d10_1shader,dcommon,dwrite,d3dcommon,id3d10blob}を追加。 mswsock, winsock2: バグ修正。
74 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/11(土) 11:41:55.14 ] GUID定数は、externじゃなくて値埋め込みの方がいいかな?
75 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/11(土) 12:13:11.06 ] 構造体は、クラスで継承できなかった。
76 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 12:23:02.22 ] 個人の日記帳
77 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 13:10:27.52 ] twitterだな
78 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 13:20:54.73 ] うん
79 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 13:51:36.12 ] githubに登録したんだから使う人はそっち見るだろう 失礼だけど需要のほとんど無いライブラリのリビジョンが上がる度に書き込むのはどうかと思うよ
80 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 17:38:07.15 ] 値型のconst変数の存在価値がわからない immutableかenumでいいじゃん
81 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 19:41:07.36 ] ポインタがあるからじゃ?
82 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 22:13:54.70 ] >>75 次は関数パラメータのconst対応行ってみようか
83 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 22:19:46.85 ] 鬼が居るw
84 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 23:02:36.64 ] IDEも作ってもらわなきゃ困る なんかもう色々と最強なやつな
85 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 00:09:07.60 ] 現状だとVisualDの開発に参加するのが一番だろうね
86 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 00:43:23.84 ] 変数の中身をちゃんと見られるようになれば・・・
87 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 00:48:57.50 ] どうも動きを見てると Release版の静的ライブラリを読み込んでいる部分が展開されないような雰囲気
88 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 01:57:47.08 ] ここのスレの住人はD言語の成長を暖かく見守ってるようでいいな 他の言語のスレは自分が使ってる言語をクソ糞言ってて気が滅入ってくるよ…
89 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 02:04:11.04 ] まあアレだ 食う前に十分太らせないと 肉の旨いもマズいも無いってな
90 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 02:05:08.76 ] ていうか、ある意味ではあんま変わらんよね。 クソ!(歓喜)みたいな。
91 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 02:18:00.42 ] >>88 !!!D言語に欠点など無いからだ!!!!
92 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 07:30:06.05 ] こんなインファイトの殴り合いをかけてくるクソがあるかッ!
93 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 11:26:50.74 ] www.kmonos.net/alang/d/struct.html >構造体にデストラクタのあるフィールドを持たせることはできません。 え?! dlang.org/struct.html >Unions may not have fields that have destructors. なんだ共用体か・・・
94 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 11:34:11.21 ] 残念ながら・・・
95 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 12:27:37.70 ] 共用体のメンバごとにデストラクタ呼んでたらえらいことになるなw
96 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 12:37:53.11 ] Dのデストラクタの信用ならなさは異常
97 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 12:57:56.04 ] 初歩的な質問なんだけど,プログラムを終了するときってどうすればいいんだ? 例外が発生したら writeln(ex); した後に自分を終了したいんだけど。 core.Runtime.terminate(); を使えばいいのかな?
98 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 13:21:06.55 ] Cの関数は普通に使えるんでstd.c.process.exitもあるし、 あるいはmainまで伝播させてreturnとか。
99 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 13:43:00.96 ] >>98 Thanks! 使い方がまずいのか, std.c.process.exit だと scope(exit) hoge(); が実行されなかったので, 素直にmainまで伝搬させることにしました。
100 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 13:50:00.88 ] andreiは例外投げろ、それがDのやり方だっていってるね
101 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/08/12(日) 15:04:10.99 ] >>82 えっ、具体例を挙げてくれますか? CPtrとinで対応していると思いますが。
102 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 15:12:19.10 ] D言語の薄い本が完売したと聞いて動揺した
103 名前:デフォルトの名無しさん [2012/08/12(日) 16:20:30.71 ] ☆
104 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 18:14:23.98 ] そうかもう夏コミの季節か 明日からだっけ…?
105 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:14:38.46 ] 今日で終わりだよ
106 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:28:33.95 ] \(^o^)/オワタ
107 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:34:26.88 ] with (w = .writeln) { w("www") } みたいな構文が欲しい
108 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:36:45.02 ] >>101 class Moge { HWND m_hWnd; void Hoge() const { WinAPIHoge(m_hWnd); } } こんな感じだとconst入れてくれるなってエラー吐くのよ WinAPIHoge(cast(void*)m_hWnd); こんな状況になるわけさ ただ値を参照してるだけのようなAPIにはWINAPIの関数パラメータのほうにconstをぶっ込んでくれると助かる
109 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:37:00.89 ] { alias writeln w; w(1); }
110 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:38:03.62 ] あれ、前は関数内でalias作れないような気がしてたけど気のせいだったかな ありがと
111 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 23:59:19.36 ] structはnewしなくてもいい、classはC++と違ってnewしないとだめだけど C++から割とでかいプログラムを移植する場合structなのかclassなのか全部把握してないとひどい目にあうよね C++だと多態使う必要なければnewしないの普通だからそういうとこではまる ほんとはできればnewしないで使いたいなあとか思ったり みんなその辺どうしてる?
112 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 00:03:58.47 ] static opCall()
113 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 00:04:34.63 ] classは使わない 全部struct
114 名前:デフォルトの名無しさん [2012/08/13(月) 00:10:52.03 ] >>112 class C; C c; これをC++から移植するとき = new C()をつけるのを忘れてデバッグで苦労するのを何とかしたいんだ opCall定義してもC c;じゃ通らないから結局解決しないんだぜ >>113 お、それいいね!! 継承できんがな(´・ω・`)
115 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 00:14:47.98 ] >>114 これでどうだ ttp://www.kmonos.net/alang/d/template-mixin.html
116 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 00:25:53.08 ] >>115 お姉さん基底クラスにキャストして多態的なことしたいのェ・・・
117 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 00:31:33.78 ] もうアキラメロン
118 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 01:18:10.93 ] クラス名を全部変える(頭に Cをつけるとか) それからコンパイル時にこけたところを一つずつ直す
119 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 04:53:43.24 ] 何で怒られるんです? need 'this' to access member ideone.com/cyoXu
120 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 08:00:40.46 ] -debugコンパイルスイッチを付けた場合と付けない場合とで出力内容が違うんだけど、これって仕様通り? dpaste.com/785387/
121 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 08:15:03.61 ] 単に未定義の部分が揺れてるだけだとおも
122 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 08:44:00.60 ] デストラクタでメンバ触っていいのか?
123 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 09:07:07.74 ] >>122 ttp://www.kmonos.net/alang/d/class.html#destructors > auto オブジェクトや DeleteExpression で削除されるオブジェクト (GCからのデストラクタ呼び出しではないので、参照は必ず有効)には当てはまりません。
124 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 09:24:52.88 ] postblitが正しく呼び出されないバグ
125 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/13(月) 09:38:10.53 ] >>108 なるほど。
126 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 10:45:12.79 ] >>120 -debug時にデストラクタが4回呼ばれるのも気になる
127 名前:120 mailto:sage [2012/08/13(月) 12:57:42.83 ] dpaste.comとdpaste.dzfl.plを誤爆しただなんて恥ずかしくて言えない
128 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:14:02.96 ] >>119 www.kmonos.net/alang/d/expression.html#TypeidExpression ideone.com/clone/Pq85f
129 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:16:29.19 ] ideoneのアドレスみすったかも ideone.com/CfqgQ
130 名前:デフォルトの名無しさん mailto:sage [2012/08/14(火) 10:02:05.53 ] ほほーう、ふふーん。二段構えなんですね
131 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/08/14(火) 15:53:19.37 ] <cguid.h>のCLSID_CCD*の値と、<mshtml.h>のCLSID_*の値が分からない。 誰か教えて。。。
132 名前:デフォルトの名無しさん mailto:sage [2012/08/14(火) 16:31:58.30 ] >>131 toro.2ch.net/test/read.cgi/tech/1344046683/
133 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/08/14(火) 16:35:25.22 ] c_dfDIKeyboard, c_dfDIMouse2, c_dfDIJoystickの中身は定義した方がいい?
134 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/14(火) 17:25:59.44 ] APIのライブラリが足りないなぁ。implibかなんかで作ろうか。。。
135 名前:デフォルトの名無しさん mailto:sage [2012/08/14(火) 17:50:13.61 ] ここはお前の日記帳じゃねえんだ バカッターにでも書いてろ、な!
136 名前:デフォルトの名無しさん mailto:sage [2012/08/14(火) 17:59:51.57 ] twitterをご存じないのではないでしょうか 140字までの短文を投稿・閲覧できるサービスです 片山さんの書き込みには適していると思います 私もおすすめしますよ
137 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 00:28:01.03 ] extern const CLSID CLSID_CCDFormKrnl; extern const CLSID CLSID_CCDPropertyPage; extern const CLSID CLSID_CCDFormDialog; extern const CLSID CLSID_CCDCommandButton; extern const CLSID CLSID_CCDComboBox; extern const CLSID CLSID_CCDTextBox; extern const CLSID CLSID_CCDCheckBox; extern const CLSID CLSID_CCDLabel; extern const CLSID CLSID_CCDOptionButton; extern const CLSID CLSID_CCDListBox; extern const CLSID CLSID_CCDScrollBar; extern const CLSID CLSID_CCDGroupBox; extern const CLSID CLSID_CCDGeneralPropertyPage; extern const CLSID CLSID_CCDGenericPropertyPage; extern const CLSID CLSID_CCDFontPropertyPage; extern const CLSID CLSID_CCDColorPropertyPage; extern const CLSID CLSID_CCDLabelPropertyPage; extern const CLSID CLSID_CCDCheckBoxPropertyPage; extern const CLSID CLSID_CCDTextBoxPropertyPage; extern const CLSID CLSID_CCDOptionButtonPropertyPage; extern const CLSID CLSID_CCDListBoxPropertyPage; extern const CLSID CLSID_CCDCommandButtonPropertyPage; extern const CLSID CLSID_CCDComboBoxPropertyPage; extern const CLSID CLSID_CCDScrollBarPropertyPage; extern const CLSID CLSID_CCDGroupBoxPropertyPage; extern const CLSID CLSID_CCDXObjectPropertyPage;
138 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 00:34:26.46 ] >>131 p:sage www.dotup.org/uploda/www.dotup.org3311898.h.html
139 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:04:02.32 ] 久しぶりに見に来たけど丹後さん死んでしまったん?
140 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:27:35.07 ] D2でいらない子扱いにされて拗ねてる
141 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:37:17.15 ] どっちかというと形を変えながらだんだんPhobosにマージされていってるんじゃないの?
142 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 04:37:40.53 ] ああ、すごい遅いけど>>1 乙です。 ローダ更新しました。 ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip o Derelict3 に移行しました。 o 全体的に書き直しました。 o テクスチャ貼りました。 o コンパイル時評価挫折しました。← New!! 軽い気持ちではじめたからDropboxだったけど、sourceforge に場所借りようかな。
143 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 06:24:04.14 ] sourceforgeもいいけどgithubもいいよ!
144 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 09:22:42.65 ] すげー 乙乙
145 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 15:00:57.31 ] >>142 スタックトレース吐いた〜〜。 ttp://ideone.com/BVUBL
146 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 15:24:26.01 ] デマングれてないとこがあるな…
147 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:18:36.18 ] foreach (; 0 .. 10) みたいなカウンタ変数すら無いループとかできないかな
148 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:48:54.30 ] 単純に回したいなら、構文は foreach(10) でいいんじゃないか。
149 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:59:31.11 ] 0開始とは限らないから foreach (5 .. 15) も必要じゃね?
150 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:07:14.71 ] え。ループカウントは使いたいの?
151 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:10:49.41 ] >>149 変数無いのにどうやってカウント値を参照するんだ?