[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/17 05:50 / Filesize : 212 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part16



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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<212KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef