- 1 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:16:30 ]
- プログラミング言語 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://www.sun-inet.or.jp/~yaneurao/dlang/ ttp://wisdom.sakura.ne.jp/programming/d/
- 441 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:12:13 ]
- >440
なにゆえ?
- 442 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:07:22 ]
- >>436
俺もそのスタイルで書いてるよ。 ifブロックとelseブロックがきれいに分離してるのが気持ちいいよね。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:26:54 ]
- >>441
コンパイル時に決定できるループでsinが山ほどあったときにコンパイルが遅くなっていたんですが、今見たら大丈夫になっていました。 勘違いかもしれませんが、再発して条件が再現できそうならまた報告します。
- 444 名前:デフォルトの名無しさん mailto:sage 是非職場で開くように [2007/10/26(金) 17:38:52 ]
- >>372
camelがどうのという話題で俺はこれを思い出す。 images.google.co.jp/images?hl=ja&lr=&oe=UTF-8&um=1&q=camel%20toe&ie=UTF-8&sa=N
- 445 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 17:44:36 ]
- グロ注意
- 446 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:33:15 ]
- >>442
IDEでコメントつける場合にずれるのが困りもの // ほげほげが見付からなかった場合はエラー else { put_error_log("hogehoge not found."); }
- 447 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:04:44 ]
- >>442
ですよね! つーかこの書き方どこで覚えたか忘れたんだけど。 あと、コメント書くとき if (test) { // ほげほげなら ... } ってなってるけどこれもやめたほうがいいかなwww 関数書くときは /// ほげほげする void func() { ... } こうなるからびみょうに統一されてなくね??とか思ってしまう
- 448 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:29:12 ]
- キミの好きにしたらええ
- 449 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:31:14 ]
- そこらへんのコーディング規則とか字下げスタイルなんかをk.inabaタンに定義してほしいw
- 450 名前:442 mailto:sage [2007/10/26(金) 23:42:52 ]
- ifのコメントは
//ほげほげ if (test) { ... } //はげはげ else if(test2){ ... } //その他 else{ ... } ってしてる。 関数は ///ほげほげする void func() { ... }
- 451 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:59:19 ]
- コメントは書かない
- 452 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:18:16 ]
- >>451
ちょwww
- 453 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:18:53 ]
- ソースがドキュメント
- 454 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:23:05 ]
- 俺は、関数の説明は書くけど、if文にはコメントつけないな。
大抵は条件式見れば何してるか分かるし、 ぱっとみて何を比較してるかわからないほど複雑になったら関数化する。 仕事なら仕方ないから規則通りにどんな馬鹿らしいコメントでも書くけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:25:00 ]
- 極力コメントつけない方向で行ってみようと思う
- 456 名前:デフォルトの名無しさん [2007/10/27(土) 00:28:41 ]
- D2.006
フィールドのプロパティ.offsetofが class Foo { int x; } ... void test(Foo foo) { size_t o; o = Foo.x.offsetof; //error o = foo.x.offsetof; //ok } になってるけど、これって仕様が変わったの?
- 457 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:30:50 ]
- >>456
>>176-177
- 458 名前:デフォルトの名無しさん [2007/10/27(土) 00:33:26 ]
- >>457
バグっぽいのか。さんくす。
- 459 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:34:20 ]
- いつものことだが誰か報告したのか?
- 460 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:00:53 ]
- 最近D言語ってのを知ったんだが
今のとこ、これ!っていうIDEはないのかな? Poseidon?C::B?Descent?
- 461 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:22:29 ]
- 伝説のIDEはDが完成されたときに現れます
- 462 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:51:47 ]
- 今度からその台詞使おう・・・
- 463 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:56:25 ]
- Dの言語仕様は永遠にβ版です!
- 464 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 02:02:54 ]
- ウォルタンが開発やめるまでは永遠に進化し続けるよ!
んでウォルタンが開発やめた後D言語の亜系が乱立することに… そして時代はbsDとreDhat系の戦いへ…
- 465 名前:デフォルトの名無しさん [2007/10/27(土) 02:40:12 ]
- D2.006 でコンパイルして
cmeerw.org/prog/owtools/ ↑のwlinkでリンクすると以下のコードが Error: Access Violation で止まっちゃうんだけど、どして? void main() { for(int i=0 ; i<5000 ; i++) { int[] x = new int[100]; } } ちなみに、変数 x を毎回deleteしてやるといける。
- 466 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 02:40:17 ]
- ソースファイルごとにDのバージョンの印つけといて、そのバージョンから任意のバージョンへの変換を行うものってあったらよさそうだな!
バージョンの印付いてるの前提だけど!
- 467 名前:176 mailto:sage [2007/10/27(土) 10:10:33 ]
- >>459
バグジラで検索したら2007年1月だったか2月に既にあがってたバグでした。 もう直す気無いと思われるw
- 468 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 12:54:43 ]
- >>467
そこのバグの修正は半年から一年後に 行われることがざらだそうです
- 469 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 16:07:33 ]
- >>465
それも前スレか前々スレかで見たな
- 470 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 19:09:31 ]
- >>461
IDEが発動するとき第6言語(D)は滅びるということか
- 471 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 21:35:16 ]
- C++0xスレでperlのQuantum::Superpositionsみたいなのの実装を見つけて
Dでも作ってみようかと思ったんだが、!= と == の区別ができない…
- 472 名前:465 [2007/10/28(日) 00:30:36 ]
- >>469
まじすか? その時は、だいたいどんな結論に落ちついたんすか? や、Viewerないもんで。。。ごめんねーいろんな人。
- 473 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:04:06 ]
- >>471
テラ量子力学wwwwwwwww と思ったらマジでそういうライブラリなのか・・・ 量子コンピュータの広がりの影響なのかな・・・
- 474 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 13:24:46 ]
- バージョンうpまだー?
- 475 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 21:46:53 ]
- Eclipse3.2.1ダウソしてDescentパッケ入れても全然反映されねーや…
なんでだろ
- 476 名前:デフォルトの名無しさん [2007/10/29(月) 21:49:53 ]
- dsssを使ってflectionedをインストールしてimportしたら、
コンパイルエラーが発生して、以下のようなメッセージが出力されました。 flectioned.d(104): module Vararg cannot read file 'tango\core\Vararg.d' 環境は、Windows / Cygwin / dmd.exe 1.022 + phobos で、 tangoはインストールしてないのに、 tango以下のファイルをimportしようとしてるみたいです。 static ifがtrueでもfalseでも両方のブロックの文法解析が行われてるのかな? とりあえず、flectioned.dの104〜131行と247行を コメントアウトしたらコンパイルできました。 あんまりうまい解決方法だと思えないので、 何か他にいい方法がないでしょうか?
- 477 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 22:09:13 ]
- Cygwin は使ってないけど、Windows + dmd1.022 + phobos で普通に動いてるけどねぇ。
Cygwin か dsss が何か悪さしてんじゃない?
- 478 名前:デフォルトの名無しさん [2007/10/29(月) 22:30:45 ]
- >>477
あ。たぶんdsssのような気がしてきました。 おそらくdsssは、 import文を見てコンパイルするファイルを特定していってるんだけど、 そのときにstatic ifをうまく解析できてないのかもしれません。 [わなD]に 「DSSSは、static ifで条件importしている依存関係の解析が 甘くて時々不便だったりするので…」 という記述があったので、これのことなのかも。
- 479 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 22:41:27 ]
- Derelict は dmd 2.0 だとビルドできないのか?
- 480 名前:デフォルトの名無しさん [2007/10/29(月) 22:52:37 ]
- >>479
dsss net install derelictsdl コンパイラをdmd 2.006にして上記のコマンドを実行したら、 たしかにコンパイルエラーが出ました。 include\d\derelict\util\loader.di(223): Error: cannot implicitly convert expression ("") of type invariant char[0u] to char[] たぶん文字列をキャストすりゃいいんだろうけど、 全部キャストするのはヤだなー。 www.dsource.org/forums/viewtopic.php?t=2903&sid=c9657f55c4f87d635f986ebfc3bb79bf 検索してみたら上記のリンク先でそれっぽい話題が交わされているようですが、 私は英語が読めないのでよくわからんかったです。
- 481 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 23:04:18 ]
- k.inabaさんがdsssはstatic if内でのimportの解析が甘い的なこと書いてた気がする
わなDかな
- 482 名前:デフォルトの名無しさん [2007/10/30(火) 00:45:01 ]
- dmd 2.0系での derelict のコンパイルとインストール、うまくいきました。
[わなD]D 2.x と D 1.x www.kmonos.net/alang/wnd/topics/d2-d1.ja.html 上記のページを参考にして、char[]をstringに、 dupをidupに修正してコンパイルしたらうまいくいきました。
- 483 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:43:53 ]
- おお
わなD更新されてるじゃまいか どっかで更新されたかどうか告知あったりしないのかな RSS配信とか
- 484 名前:デフォルトの名無しさん [2007/10/30(火) 02:19:27 ]
- class Foo{}
class Bar { private const( Foo ) mFoo; const( Foo ) getFoo() { return mFoo; } void setFoo( const( Foo ) iFoo ) { mFoo = iFoo; } } みたいなことをD言語2.xでしたいのですが、 Bar.setFoo()の中でコンパイルエラーが発生してしまいます。 たぶんメンバ変数Bar.mFooの定義方法がよくないと思うのですが、 どうするとよいでしょうか?
- 485 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 03:05:51 ]
- どうするんだろ
うまくいかないや こんなんになりました class Foo{} class Bar { private const(Foo)* mFoo; const(Foo) getFoo() { return *mFoo; } void setFoo(const(Foo) iFoo) { mFoo = &iFoo; } } void main() { auto bar = new Bar; bar.setFoo(new Foo); const(Foo) foo = bar.getFoo(); }
- 486 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 03:42:21 ]
- const Foo mFoo; なら変数mFoo自体がconstだけど、
const(Foo) mFoo; なら変数mFoo自体は書き換え可能なはずだよね。 メンバ変数のときだけ動作が違う、ってんだからバグじゃね?
- 487 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 04:30:53 ]
- 俺もバグなんじゃないかと思う。
とりあえずaliasでごまかしてみるとうまくいくようです。 class Foo{} class Bar { alias const( Foo ) Foo_const; private Foo_const mFoo; Foo_const getFoo() { return mFoo; } void setFoo( Foo_const iFoo ) { mFoo = iFoo; } } // 意味のないエイリアス // この手のものは…どうなんですか、ウォルターたん…
- 488 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 05:49:36 ]
- aliasした場合、今度はconst消えちゃってね?
- 489 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 11:03:50 ]
- >>482
> 2007/10/30 :: RSSはじめました ました
- 490 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 11:04:56 ]
- 間違えた>>483
- 491 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 11:57:38 ]
- 助かります
- 492 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 14:25:54 ]
- わなDの"../表紙に戻る"って戻れないよね
- 493 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 14:59:37 ]
- >>488
ほんとだ。constがきえてるっぽい。これもバグなのかな。 まぁconst/invariant周りのバグは多すぎて報告する気にもならんけど。
- 494 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 16:06:32 ]
- v1からv2に乗り換えたら連想配列でキー引けないんだけど、なんか変わった?
- 495 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 17:11:50 ]
- >>494
エスパーしてみると、文字列リテラルの型がinvariant(char)[]になった。
- 496 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 17:58:36 ]
- int[char[]] foo = [ "hoge" : 1, "hage" : 2 ];
if(auto p = ("hoge" in foo)) writefln(*p); else writefln("ねーよ"); try { writefln(foo["hage"]); } catch(ArrayBoundsError) { writefln("ねーよ"); } v2でどー書くの?
- 497 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 18:13:36 ]
- // dmd 2.006
void main(){ int[string] foo = [ "hoge" : 1, "hage" : 2 ]; foreach(k; foo.keys) writeln(k, foo[k]); // Error: ArrayBoundsError } おそらくバグだな
- 498 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 18:16:44 ]
- void main(){
int[string] foo; foo["hoge"] = 1; foo["hage"] = 2; foreach(k; foo.keys) writeln(k, foo[k]); } こうすればいけるな。
- 499 名前:デフォルトの名無しさん [2007/10/30(火) 21:23:48 ]
- >>484
>>486 クラスのメンバ変数にconstオブジェクトを持たせると挙動がおかしいのは、 下記のページにあるバグ報告と同じっぽいですね。 d.puremagic.com/issues/show_bug.cgi?id=1376
- 500 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:06:21 ]
- 分かっちゃいるけど直ってない、という話なのね
- 501 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 03:07:11 ]
- D2不安すぎる
- 502 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 10:19:11 ]
- D2.0で作成したソフトウェア納品してしまった件wwww
ソースじゃなく、バイナリだけだけど
- 503 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 10:34:24 ]
- >>502
おぉおおぉおおそろしいことを…! でもよくやった!
- 504 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:22:19 ]
- Makefileで依存関係しらべてビルドするより、
dmd.exeでどかっとコンパイルしたほうが速いんだね・・ >>502 ちょwww
- 505 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 13:49:37 ]
- >>501
Doctor2年でつか >>502 どこの会社だよそれwwwww せめて1.0にしろよwwwww 後で致命的なバグ見つかってもしらねーぞwwww
- 506 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 14:05:32 ]
- >>502
国内初の実用事例キタコレwwwww
- 507 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 14:22:55 ]
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::。::::::...... ... --─- :::::::::::::::::::: ..::::: . ..:::::::: :::::::::::::::::...... ....:::::::゜::::::::::.. (___ )(___ ) ::::。::::::::::::::::: ゜.:::::::::::: :. .:::::。:::........ . .::::::::::::::::: _ i/ = =ヽi :::::::::::::。::::::::::: . . . ..:::: :::: :::::::::.....:☆彡:::: //[|| 」 ||] ::::::::::゜:::::::::: ...:: ::::: :::::::::::::::::: . . . ..: :::: / ヘ | | ____,ヽ | | :::::::::::.... .... .. .:::::::::::::: ::::::...゜ . .::::::::: /ヽ ノ ヽ__/ ....... . .::::::::::::........ ..:::: :.... .... .. . く / _三502三∠⌒>:.... .... .. .:.... .... .. :.... .... ..:.... .... ..... .... .. .:.... .... .. ..... .... .. ..... ............. .. . ........ ...... :.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... .. . ... ..:( )ゝ ( )ゝ( )ゝ( )ゝ無茶しやがって… .......... .... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ................... .. . ... .. 三 | 三 | 三 | 三 | ... ............. ........... . ..... ... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ............. ............. .. ........ ... 三三 三三 三三 三三 三三 三三 三三 三三
- 508 名前:502 mailto:sage [2007/10/31(水) 17:40:02 ]
- 反応が結構あったのにびびったw
リアルタイム映像系で、DとDirectX10と絡めた。 やっぱりネックはGCだけど、評判が悪いがscopeとかつかうとわりと回避できるよ。 それでもメモリ使用のグラフををみると /|/|/|/|/| こんな感じでノコギリみたいになる。 そこ以外はサクサク開発できた。 まぁなんだ、D言語最高
- 509 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 18:05:54 ]
- >>502 乙
ところで ttp://hp.vector.co.jp/authors/VA031566/d_direct3d9/index.html が古くなってるからDirectX10周りを公開してくれたら助かる人がいるんじゃないかな 仕事で書いたコードだから無理かなと思うのであんまり期待せずに言っておくw 納品して利益が発生するものに使う機会はまだないが 社内向けのなら俺もD使ってる
- 510 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 18:51:09 ]
- D2とVistaって・・・
どんだけばk・・・いや、いい意味でなw乙w
- 511 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:00:32 ]
- >>508
確かに集合型とか一時オブジェクトを扱うとC++よりDが圧倒的に楽なんだよなあ。 DX10を絡めたのは尊敬する。俺はやろうとして挫折してます。
- 512 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:23:41 ]
- >>502
ノウハウうpしてくれると俺が鼻水100ccほど垂らしながらよろこびます
- 513 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:26:52 ]
- 俺も0xD2ccくらい垂らしながらよろこびます
- 514 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:01:36 ]
- >>508
本当に勇者だなお前は お前みたいな勇者のおかげで俺たち一般PGが最新技術に触れる日が早まる
- 515 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:03:15 ]
- DirectX 捨てて OpenGL にいった自分も少しよろこびます。
- 516 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:44:52 ]
- >>502==508の人気に嫉妬
- 517 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:14:53 ]
- 映像系で思い出したが、dSFMTをクラス化してインスタンスごとに独立した系列がいけるようにチョコチョコいじってるのだが、
SIMD部分をどうするかでかなり悩む
- 518 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:19:27 ]
- finallyよりもscope(exit)のがつかいやすい
- 519 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 23:12:07 ]
- しかしふとだいぶ前ーのスレで
「C++よりいい感じだぜー」って研究室でデータ計算だかに 使ってるって言う人も見たなぁ、という記憶が。 まぁ「納品」という言葉が出てくると俺ビビらずにはいられんけどw ところで興味本位でメインマシンを64bitなubuntuにしてみたら いろんな32bitライブラリがネーヨとリンカに言われ俺涙目。 dmdもamd64吐けるようにぷっりーずぅぅぅー。
- 520 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 23:32:21 ]
- >>519
sudo apt-get install lib32gcc1 してリンカフラグ弄ればいいとおも
- 521 名前:502 mailto:sage [2007/11/01(木) 07:05:47 ]
- DirectX10ヘッダーファイルをDにポーティングしていれば、一番みんなが使いやすいんだろうと思うんだけど
C++でまずDirectX10をラップしてそれをDで使用するようにしました。 DirectX10.1とかでるし、dxgi.h、d3d10.h、d3dx10.hがころころ変わると思ったので。 以下スレチにならない程度にさわりを・・・ /* C++ */ class Device { public: _cptr<ID3D10Device> _cp; // _cpt<T>rはCOMをあつかうスマートポインタ }; class Swapchain { public: uint32 _width, _height; _cptr<IDXGISwapChain> _cp; int init( Device &dev, const DXGI_SWAP_CHAIN_DESC &ds); }; class Buffer { public: _cptr<ID3D10Buffer> _cp; }; とこんな風にまんま包み込んで、 Dに以下の様な関数をエキスポート Device * dx10g0_Device_new(); void dx10_Device_delete(Device *pthis); int dx10_Device_init(Device *pthis, void *pdevicesettings); int dx10_Device_DrawPrimitive(Device *pthis, uint type, uint n); int dx10_Device_DrawIndexedPrimitive(Device *pthis, uint type, uint indexcount); 中の関数はDirectX10APIより少々便利めにつくるようにしてます。 こうすることのメリットは、上でいったヘッダーファイルがかわっても(少しは)大丈夫なこと、 DirectX9に同様のものをつくることで、D側からはDirectX10、DirectX9が同じように扱えること。 Shader4.0をつかってしまったら、意味がないかもだけど・・・
- 522 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:14:21 ]
- >>520
情報有難う御座いまするー。 そうかー32bit系はそういうパッケージ名を与えられているのですね。 lib32gcc1は入ってました。中身の.soから、Winでいうインポートライブラリが生成できればいいんでしょか。 ともあれこれ以上は自力でごにょごにょとやってみます。
- 523 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 19:10:15 ]
- >>521
なるほど。 俺は、汚いヘッダファイルからではなく、比較的綺麗なIDLからDにポーティングしようとして挫折。 .diを吐くIDLコンパイラ欲しい、、、
- 524 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 19:26:30 ]
- 「無いならば 作ってしまおう プログラマ」 詠み人知らず
- 525 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 19:46:12 ]
- >>521
ありがとうございます。参考になります。 まあDから読みやすいようにするのがいい解ということですかねえ。
- 526 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:22:34 ]
- win32のBitBltがどこにあるかわかりませんか?v1.015@Phobosです。
リンカのLibにはあるっぽいんですけど、 export BOOL BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD); しても認識しません。。。
- 527 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:33:18 ]
- extern(Windows)
- 528 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:35:31 ]
- すいません!出来ました。しょーもない質問で申し訳ない。
ありがと〜。
- 529 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 02:36:37 ]
- win32.windows 使わないの?
- 530 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 02:44:05 ]
- なるべく標準で済ませたかったんです。
はやく標準でとりこんでくれないかなぁ。。。
- 531 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 03:58:22 ]
- 意味無いけどあるある
- 532 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 07:48:20 ]
- チラ裏!
今丁度はまってた事。 クラスを宣言してC++と同じ要領で使おうとしたら、宣言自体は参照のためにアクセス違反の例外が飛んだ。ってか飛びまくった。 つまり、newしてなかった。あ〜、何事かとおもったわ。(TT
- 533 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:11:20 ]
- 構造体・クラスをみわけるために
なんかプレフィックスつけてる?
- 534 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:14:08 ]
- いや、そういう習慣は持ってないね。
それがさ、うっかりスタックに確保されるもんだと勘違いしてたんだ。 C++だと基本的に自分でメモリ確保しないようにやってたから。。。
- 535 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:23:28 ]
- //C++
Class hoge; //D scope hoge = new Class;
- 536 名前:533 mailto:sage [2007/11/02(金) 08:26:58 ]
- いや、べつに532にきいたわけじゃないんだ。
みんなはどうしてるかなと思って。 俺は構造体にはSをつけて、クラスにはなんもなし。
- 537 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:30:01 ]
- ああ、結局newしないといけないんだなぁ。
なるほど、なるほど。 new恐怖症なもんでね。 だから、GC万歳ってかんじなんだけどね。
- 538 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:36:49 ]
- 乳は決して怖くない。勇気を持ってください。
- 539 名前:532 mailto:sage [2007/11/02(金) 08:41:34 ]
- >>536
俺は特にプレフィックスはつけない。何にでも。 でも、命名規則は割りと変数の使用イメージにそってつけてるかなぁ。 まぁ、しばらくすると、わすれちゃうんだけどね。。。XP >>538 勇者はD言語を手に入れた。LvUP!!new恐怖症が多少和らいだ。deleteを忘れた。 徹夜しちゃったからそろそろ寝るかなぁ。 今作ってるの、もうちょっとで完成するんだけどねぇ。あえて寝る! そんじゃまた〜。
- 540 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:44:07 ]
- そういえば`「わすれる」を覚える`って不思議な響きだよな・・・
- 541 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:48:51 ]
- (a, b) = (c, d);みたいなのが
a = c; b = d; に変換されるようなやつってD言語にある?
|

|