- 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の入門講座)
- 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(); // 単体テスト実行 }
|

|