D言語 Part30at TECH
D言語 Part30 - 暇つぶし2ch1:デフォルトの名無しさん
12/07/31 00:05:43.45
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
URLリンク(dlang.org) - 公式(英語)
URLリンク(www.kmonos.net) - 公式の和訳
URLリンク(d.puremagic.com) - D言語バグ報告
URLリンク(github.com) - D言語開発リポジトリ

■Wiki
URLリンク(dusers.dip.jp) - D言語友の会(日本語フォーラムあり)
URLリンク(prowiki.org) - Wiki4D(公認Wiki)

■前スレ
D言語 Part29
スレリンク(tech板)

■過去スレ、関連スレ
URLリンク(makimo.to:8000)

2:デフォルトの名無しさん
12/07/31 00:06:46.04
■IDE
URLリンク(www.dsource.org) - Visual D(Visual Studioプラグイン)
URLリンク(code.google.com) - DDT(Eclipseプラグイン)

■ライブラリ
URLリンク(www.dsource.org) - DWT(GUIライブラリ)
URLリンク(www.dsource.org) - GtkD(GUIライブラリ)
URLリンク(github.com) - DFL(GUIライブラリ・非公式最新版)
URLリンク(www.dsource.org) - Derelict(SDL/OpenGLなどのポーティング)
URLリンク(www.ku6.jp) - 傾き指向プログラミング(SDLなどのポーティング)

■D言語で作られたゲーム
URLリンク(www.nicovideo.jp) - D言語で作られた芝ゲー niconico動画
URLリンク(www.asahi-net.or.jp) - ABA Games

3:デフォルトの名無しさん
12/07/31 00:13:20.33
で��

4:デフォルトの名無しさん
12/08/01 13:54:31.73
でつ・

5:デフォルトの名無しさん
12/08/01 15:14:05.70
新スレ・

6:デフォルトの名無しさん
12/08/02 22:51:27.42
>>1

うぉるたんかわいいようぉるたん

7:デフォルトの名無しさん
12/08/04 00:34:12.48
新スレだ!D2.060だ!

8:デフォルトの名無しさん
12/08/04 00:50:15.69
最近更新してもコンパイル通っちゃったり修正箇所少なかったりしてかなしい

9:デフォルトの名無しさん
12/08/04 00:51:38.13
dmdでコンパイルエラー出ないと悲しくなる

だがoptlink、てめーはだめだ

10:デフォルトの名無しさん
12/08/04 01:26:19.67
うぉるたんが2.060をさっさとリリースして Win64を進めるんじゃー
ってゆってたから年内には改善されるかもしれない



いや、やっぱり年内は無理かな

11:デフォルトの名無しさん
12/08/04 07:45:12.43
>>8
い、いいことじゃん…

12:デフォルトの名無しさん
12/08/04 12:17:28.98
あ?

13:デフォルトの名無しさん
12/08/04 14:45:44.09
い?

14:デフォルトの名無しさん
12/08/04 16:14:45.79
を?

15:デフォルトの名無しさん
12/08/04 16:46:34.88
implibとか入ってるDigital Marsのbup.zipをウィルスセキュリティZEROがウィルス扱いして隔離するんだけど・・・

16:デフォルトの名無しさん
12/08/04 16:51:07.42
>>1

17:デフォルトの名無しさん
12/08/04 16:53:00.33
>>8-9
コンパイルエラー駆動開発

18:デフォルトの名無しさん
12/08/04 17:05:26.63
>>15

VIRUS TOTALでは反応しない
URLリンク(www.virustotal.com)

自己判断でドゾー

19:デフォルトの名無しさん
12/08/04 17:51:06.23
コンパイルエラーを直すのが一種のパズルゲームのように面白いのはDの利点だよ

20:デフォルトの名無しさん
12/08/04 20:10:22.50
次のバージョン辺りから
いままでルーズな感じだったのを
constチェックをうるさくつけるようになるってこと?

21:デフォルトの名無しさん
12/08/04 20:12:11.38
片山くん、俺は君を信じてWondersに乗っかることにしたから
今後も飽きずに対応してくれな

じゃ、ちょっと大型アプリケーション作りに行ってくるわ

22:デフォルトの名無しさん
12/08/04 20:54:09.64
>>18
Zeroのことだから誤認だと思ったけどやはり・・・

23:デフォルトの名無しさん
12/08/04 21:47:22.14
D用のfreeglutって無かったでした?

24:デフォルトの名無しさん
12/08/04 21:49:19.72
ある

25:デフォルトの名無しさん
12/08/04 21:59:55.00
doko?

26:デフォルトの名無しさん
12/08/05 00:14:59.77
Derelict3 ni aru yo

27:デフォルトの名無しさん
12/08/05 00:25:37.34
>>前スレ978
ざっとコード見たけどまあ頑張ってるんじゃない?
でも日本でPublic domainという時点でNG

28:デフォルトの名無しさん
12/08/05 00:51:20.30
こういう狭い考えの奴らがスパゲッティーコードを量産し始めるんだろうな

29:デフォルトの名無しさん
12/08/05 01:56:30.20
>>26
arigato. dakedo hayamatte jibunde porting sicyatta yo!!
ima sample ugoita toko

30:片山博文MZボット ◆0lBZNi.Q7evd
12/08/06 13:51:14.29
>>21 これからもサポートやります。
>>27 MITライセンスにしようか?

31:デフォルトの名無しさん
12/08/06 14:09:48.51
自由に使って良いよって意味合いで公開してるんだからPublic Domainでも大丈夫
日本の著作権の考え方と衝突するって言うけど
作者の意図が上のような状態なら
そもそも権利に関して衝突する状況がまず存在しないよ

開発を継続するのなら
gitとか使える所で公開したほうがいいと思う

32:デフォルトの名無しさん
12/08/06 17:24:24.57
githubに上げてくだされー

33:デフォルトの名無しさん
12/08/06 22:24:59.38
Javaからの移植で浮動小数点数の初期化でハマった
こういうハマリポイントまとめておくと後で便利そうと思ったので頑張ってやらない

34:デフォルトの名無しさん
12/08/06 22:53:32.35
すいません。
std.net.curlで一部のUTF8ページの日本語部分が文字化けするのですが、どうすれば良いのでしょうか?

import std.net.curl;
import std.stdio;

void main(){
auto content = get("URLリンク(www.yahoo.co.jp)");
write(content); //文字化けなし
auto content1 = get("URLリンク(www.excite.co.jp)");
write(content1); //日本語が文字化け
}

35:デフォルトの名無しさん
12/08/06 23:04:37.40
実は名乗ってる文字コードと真の文字コードが違う…

なんてことはないか、さすがに

36:34
12/08/07 00:52:18.13
その後しらべた所、content-typeのcharset指定がなかったので、ISO-8859-1でデコードされていました。
ubyteで返してchar[]にcastしたら正常に動きました。ライブラリにエンコード指定の方法が欲しいですね。
ありがとうございました。

37:片山博文MZボット ◆0lBZNi.Q7evd
12/08/07 12:17:46.08
Wonders ver.1.03
URLリンク(katahiromz.web.fc2.com)
D1でもビルド可能に。MITライセンスになる。
wonders: 仕様変更。
shobjidl, shlwapi: バグ修正。
tchar: 強化、仕様変更。
commdef: commctrl, commoncontrolsから共通部分を分離。

38:片山博文MZボット ◆0lBZNi.Q7evd
12/08/07 14:00:21.81
>>32
URLリンク(github.com)
ちょっと手間取った。

39:デフォルトの名無しさん
12/08/07 15:03:55.26
あるスレッドからTLS変数を一切使わないからTLSコピーしないでほしいんだけどなんか方法ない?

40:デフォルトの名無しさん
12/08/07 21:39:29.68
?

41:デフォルトの名無しさん
12/08/07 21:44:49.68
勝手にコピーとかしないんじゃ?

42:デフォルトの名無しさん
12/08/07 22:51:29.59
スレッドの数だけコピーされるのがイヤってことでしょ
全部 shared もしくは D1 w

43:デフォルトの名無しさん
12/08/07 22:54:30.63
__gsharedでいいじゃん

44:デフォルトの名無しさん
12/08/07 23:20:51.86
TLSは普通に使うんだけど、特定のスレッドからはアクセスしないので
「このスレッドからはTLSを使いませんよ」宣言が欲しいってことでは

45:デフォルトの名無しさん
12/08/07 23:33:26.62
方法無さそうだなあ

46:デフォルトの名無しさん
12/08/07 23:39:47.24
自前のTLS実装作る

47:デフォルトの名無しさん
12/08/08 01:40:56.10
片山さん、ついでにdirect2dのポーティングもやってくだしあ><

48:デフォルトの名無しさん
12/08/08 23:40:43.56
>>39
taskPoolで最低限の初期化を我慢して使い回すか、std.randomのrndGenみたいに使うまでTLSの初期化を遅延するかどっちか?

Threadクラス改造すれば静的コンストラクタ呼び出さないのもいけそうだけど。

49:片山博文MZボット ◆0lBZNi.Q7evd
12/08/09 12:46:33.26
Wonders ver.1.04
URLリンク(github.com)
URLリンク(katahiromz.web.fc2.com)
commdefとcommoncontrolsをcommctrlに統合。
gdiplus, fourcc, mmstream, directx/ddraw, directx/ddstreamを追加。
directx関係のimportを最適化。

50:片山博文MZボット ◆0lBZNi.Q7evd
12/08/09 12:58:24.29
>>47 Direct2Dはどのヘッダでしょうか?

51:片山博文MZボット ◆0lBZNi.Q7evd
12/08/09 14:17:06.42
>>50 ぐぐったら
d2d1.h, d2d1helper.h, d2d1helper.h, d2derr.hって出てきた。
ポートするぞ。

52:デフォルトの名無しさん
12/08/09 17:37:25.07
githubを使い始めたり
片山くんが何気に成長しとるw

53:片山博文MZボット ◆0lBZNi.Q7evd
12/08/09 22:10:43.23
d2d1、d2d1helperのポートは難易度高い

54:デフォルトの名無しさん
12/08/09 23:53:52.41
フォント表示にdwrite.h、画像表示にwincodec.hも必要。

55:デフォルトの名無しさん
12/08/09 23:54:51.49
泣き言は完成してから聞く

56:デフォルトの名無しさん
12/08/10 00:01:26.59
ゲーム用サウンドはDirectSoundが廃止になって今はXAudio2が主流だから、DirectXをサポートするならXAudio2はあったほうがいいかも

57:デフォルトの名無しさん
12/08/10 15:59:09.76
d2dはcomのモデルみたいだから大変かもね

58:デフォルトの名無しさん
12/08/10 19:49:01.67
URLリンク(dpaste.dzfl.pl)
> 878.d(6): Error: function compileme878.C2.method cannot override a non-virtual function
ちょっと何言ってるか分かんないですね

59:デフォルトの名無しさん
12/08/10 20:02:11.02
URLリンク(dpaste.dzfl.pl)
というかpackageってなんなんだ?
漠然とmoduleのことだと思ってたんだけどとんだ間違いで俺が間抜けなだけなのかな

60:デフォルトの名無しさん
12/08/10 20:19:35.53
パッケージはモジュールの集まり

もっとわかりやすく言うとディレクトリ

61:デフォルトの名無しさん
12/08/10 20:21:04.03
>>60
なるほろThx
そういえばJavaもそうだった

だとするとpackageでvirtualじゃなくなるのは単なるバグか

62:デフォルトの名無しさん
12/08/10 20:59:44.38
URLリンク(d.puremagic.com)
まだこんなのも残ってるんだぜ

63:デフォルトの名無しさん
12/08/10 21:17:00.70
privateで装飾すると非仮想関数として固定されるのと同じじゃない?

64:デフォルトの名無しさん
12/08/10 21:26:54.11
仮想関数 URLリンク(www.kmonos.net)

全ての非staticかつ非privateかつ非templateなメンバ関数は、 仮想関数です。
これは非効率的に聞こえるかもしれませんが、 コード生成時にDはクラス階層を全て把握していますので、 オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。


アクセス保護属性 URLリンク(www.kmonos.net)

package は、モジュールは違っても同じパッケージに属するコードからの アクセスは許可するようにprivateを拡張したものです。
これは、モジュールがネストしたパッケージの中にある場合は、 最も内側のパッケージについてのみ適用されます。

65:デフォルトの名無しさん
12/08/10 21:43:49.25
するとJavaのpackage-privateみたいな属性は存在しないってことかな

66:デフォルトの名無しさん
12/08/10 23:42:06.27
納得いかない

import std.stdio;

extern(C)
void f(int n)
{
  writeln(typeid(&f));
}

void main()
{
   f(0);
}

⇒ void()*

67:デフォルトの名無しさん
12/08/10 23:55:09.40
writelnがアレなだけかね
pragma(msg, typeof(&f)); // void function(int n)

68:デフォルトの名無しさん
12/08/10 23:55:46.33
あ、typeidか

69:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/08/11 09:28:30.65
訂正
x func(&f, 1, 2); // object.Error: Access Violation
○ func(&f0, 1, 2); // object.Error: Access Violation

71:デフォルトの名無しさん
12/08/11 09:51:13.09
xxx.cのfuncの引数のfにも__stdcallをつければ通る

72:デフォルトの名無しさん
12/08/11 10:08:47.76
>>71
どうもです。動きました。

73:片山博文MZボット ◆0lBZNi.Q7evd
12/08/11 11:32:33.86
Wonders ver.1.05
URLリンク(github.com)
URLリンク(katahiromz.web.fc2.com)
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
12/08/11 11:41:55.14
GUID定数は、externじゃなくて値埋め込みの方がいいかな?

75:片山博文MZボット ◆0lBZNi.Q7evd
12/08/11 12:13:11.06
構造体は、クラスで継承できなかった。

76:デフォルトの名無しさん
12/08/11 12:23:02.22
個人の日記帳

77:デフォルトの名無しさん
12/08/11 13:10:27.52
twitterだな

78:デフォルトの名無しさん
12/08/11 13:20:54.73
うん

79:デフォルトの名無しさん
12/08/11 13:51:36.12
githubに登録したんだから使う人はそっち見るだろう
失礼だけど需要のほとんど無いライブラリのリビジョンが上がる度に書き込むのはどうかと思うよ

80:デフォルトの名無しさん
12/08/11 17:38:07.15
値型のconst変数の存在価値がわからない
immutableかenumでいいじゃん

81:デフォルトの名無しさん
12/08/11 19:41:07.36
ポインタがあるからじゃ?

82:デフォルトの名無しさん
12/08/11 22:13:54.70
>>75
次は関数パラメータのconst対応行ってみようか


83:デフォルトの名無しさん
12/08/11 22:19:46.85
鬼が居るw

84:デフォルトの名無しさん
12/08/11 23:02:36.64
IDEも作ってもらわなきゃ困る
なんかもう色々と最強なやつな

85:デフォルトの名無しさん
12/08/12 00:09:07.60
現状だとVisualDの開発に参加するのが一番だろうね

86:デフォルトの名無しさん
12/08/12 00:43:23.84
変数の中身をちゃんと見られるようになれば・・・

87:デフォルトの名無しさん
12/08/12 00:48:57.50
どうも動きを見てると
Release版の静的ライブラリを読み込んでいる部分が展開されないような雰囲気

88:デフォルトの名無しさん
12/08/12 01:57:47.08
ここのスレの住人はD言語の成長を暖かく見守ってるようでいいな
他の言語のスレは自分が使ってる言語をクソ糞言ってて気が滅入ってくるよ…

89:デフォルトの名無しさん
12/08/12 02:04:11.04
まあアレだ
食う前に十分太らせないと
肉の旨いもマズいも無いってな

90:デフォルトの名無しさん
12/08/12 02:05:08.76
ていうか、ある意味ではあんま変わらんよね。
クソ!(歓喜)みたいな。

91:デフォルトの名無しさん
12/08/12 02:18:00.42
>>88
!!!D言語に欠点など無いからだ!!!!

92:デフォルトの名無しさん
12/08/12 07:30:06.05
こんなインファイトの殴り合いをかけてくるクソがあるかッ!

93:デフォルトの名無しさん
12/08/12 11:26:50.74
URLリンク(www.kmonos.net)
>構造体にデストラクタのあるフィールドを持たせることはできません。

え?!

URLリンク(dlang.org)
>Unions may not have fields that have destructors.

なんだ共用体か・・・

94:デフォルトの名無しさん
12/08/12 11:34:11.21
残念ながら・・・

95:デフォルトの名無しさん
12/08/12 12:27:37.70
共用体のメンバごとにデストラクタ呼んでたらえらいことになるなw

96:デフォルトの名無しさん
12/08/12 12:37:53.11
Dのデストラクタの信用ならなさは異常

97:デフォルトの名無しさん
12/08/12 12:57:56.04
初歩的な質問なんだけど,プログラムを終了するときってどうすればいいんだ?
例外が発生したら writeln(ex); した後に自分を終了したいんだけど。
core.Runtime.terminate(); を使えばいいのかな?


98:デフォルトの名無しさん
12/08/12 13:21:06.55
Cの関数は普通に使えるんでstd.c.process.exitもあるし、
あるいはmainまで伝播させてreturnとか。

99:デフォルトの名無しさん
12/08/12 13:43:00.96
>>98
Thanks!
使い方がまずいのか,
std.c.process.exit だと scope(exit) hoge(); が実行されなかったので,
素直にmainまで伝搬させることにしました。

100:デフォルトの名無しさん
12/08/12 13:50:00.88
andreiは例外投げろ、それがDのやり方だっていってるね

101:片山博文MZボット ◆0lBZNi.Q7evd
12/08/12 15:04:10.99
>>82 えっ、具体例を挙げてくれますか?
CPtrとinで対応していると思いますが。

102:デフォルトの名無しさん
12/08/12 15:12:19.10
D言語の薄い本が完売したと聞いて動揺した

103:デフォルトの名無しさん
12/08/12 16:20:30.71


104:デフォルトの名無しさん
12/08/12 18:14:23.98
そうかもう夏コミの季節か
明日からだっけ…?

105:デフォルトの名無しさん
12/08/12 20:14:38.46
今日で終わりだよ

106:デフォルトの名無しさん
12/08/12 20:28:33.95
\(^o^)/オワタ

107:デフォルトの名無しさん
12/08/12 20:34:26.88
with (w = .writeln) {
 w("www")
}

みたいな構文が欲しい

108:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/08/12 20:37:00.89
{
 alias writeln w;
 w(1);
}

110:デフォルトの名無しさん
12/08/12 20:38:03.62
あれ、前は関数内でalias作れないような気がしてたけど気のせいだったかな
ありがと

111:デフォルトの名無しさん
12/08/12 23:59:19.36
structはnewしなくてもいい、classはC++と違ってnewしないとだめだけど
C++から割とでかいプログラムを移植する場合structなのかclassなのか全部把握してないとひどい目にあうよね
C++だと多態使う必要なければnewしないの普通だからそういうとこではまる
ほんとはできればnewしないで使いたいなあとか思ったり
みんなその辺どうしてる?

112:デフォルトの名無しさん
12/08/13 00:03:58.47
static opCall()

113:デフォルトの名無しさん
12/08/13 00:04:34.63
classは使わない
全部struct

114:デフォルトの名無しさん
12/08/13 00:10:52.03
>>112
class C;
C c;
これをC++から移植するとき = new C()をつけるのを忘れてデバッグで苦労するのを何とかしたいんだ
opCall定義してもC c;じゃ通らないから結局解決しないんだぜ

>>113
お、それいいね!!
継承できんがな(´・ω・`)

115:デフォルトの名無しさん
12/08/13 00:14:47.98
>>114
これでどうだ
URLリンク(www.kmonos.net)

116:デフォルトの名無しさん
12/08/13 00:25:53.08
>>115
お姉さん基底クラスにキャストして多態的なことしたいのェ・・・

117:デフォルトの名無しさん
12/08/13 00:31:33.78
もうアキラメロン

118:デフォルトの名無しさん
12/08/13 01:18:10.93
クラス名を全部変える(頭に Cをつけるとか)
それからコンパイル時にこけたところを一つずつ直す


119:デフォルトの名無しさん
12/08/13 04:53:43.24
何で怒られるんです?
need 'this' to access member

URLリンク(ideone.com)

120:デフォルトの名無しさん
12/08/13 08:00:40.46
-debugコンパイルスイッチを付けた場合と付けない場合とで出力内容が違うんだけど、これって仕様通り?
URLリンク(dpaste.com)

121:デフォルトの名無しさん
12/08/13 08:15:03.61
単に未定義の部分が揺れてるだけだとおも

122:デフォルトの名無しさん
12/08/13 08:44:00.60
デストラクタでメンバ触っていいのか?

123:デフォルトの名無しさん
12/08/13 09:07:07.74
>>122
URLリンク(www.kmonos.net)
> auto オブジェクトや DeleteExpression で削除されるオブジェクト (GCからのデストラクタ呼び出しではないので、参照は必ず有効)には当てはまりません。

124:デフォルトの名無しさん
12/08/13 09:24:52.88
postblitが正しく呼び出されないバグ

125:片山博文MZボット ◆0lBZNi.Q7evd
12/08/13 09:38:10.53
>>108 なるほど。

126:デフォルトの名無しさん
12/08/13 10:45:12.79
>>120
-debug時にデストラクタが4回呼ばれるのも気になる

127:120
12/08/13 12:57:42.83
dpaste.comとdpaste.dzfl.plを誤爆しただなんて恥ずかしくて言えない

128:デフォルトの名無しさん
12/08/13 22:14:02.96
>>119
URLリンク(www.kmonos.net)
URLリンク(ideone.com)

129:デフォルトの名無しさん
12/08/13 22:16:29.19
ideoneのアドレスみすったかも
URLリンク(ideone.com)

130:デフォルトの名無しさん
12/08/14 10:02:05.53
ほほーう、ふふーん。二段構えなんですね

131:片山博文MZボット ◆0lBZNi.Q7evd
12/08/14 15:53:19.37
<cguid.h>のCLSID_CCD*の値と、<mshtml.h>のCLSID_*の値が分からない。
誰か教えて。。。

132:デフォルトの名無しさん
12/08/14 16:31:58.30
>>131
スレリンク(tech板)

133:片山博文MZボット ◆0lBZNi.Q7evd
12/08/14 16:35:25.22
c_dfDIKeyboard, c_dfDIMouse2, c_dfDIJoystickの中身は定義した方がいい?

134:片山博文MZボット ◆0lBZNi.Q7evd
12/08/14 17:25:59.44
APIのライブラリが足りないなぁ。implibかなんかで作ろうか。。。

135:デフォルトの名無しさん
12/08/14 17:50:13.61
ここはお前の日記帳じゃねえんだ
バカッターにでも書いてろ、な!

136:デフォルトの名無しさん
12/08/14 17:59:51.57
twitterをご存じないのではないでしょうか
140字までの短文を投稿・閲覧できるサービスです
片山さんの書き込みには適していると思います
私もおすすめしますよ

137:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/08/15 00:34:26.46
>>131 p:sage
URLリンク(www.dotup.org)

139:デフォルトの名無しさん
12/08/15 12:04:02.32
久しぶりに見に来たけど丹後さん死んでしまったん?

140:デフォルトの名無しさん
12/08/15 12:27:35.07
D2でいらない子扱いにされて拗ねてる

141:デフォルトの名無しさん
12/08/15 12:37:17.15
どっちかというと形を変えながらだんだんPhobosにマージされていってるんじゃないの?

142:デフォルトの名無しさん
12/08/16 04:37:40.53
ああ、すごい遅いけど>>1乙です。
ローダ更新しました。
URLリンク(dl.dropbox.com)
o Derelict3 に移行しました。
o 全体的に書き直しました。
o テクスチャ貼りました。
o コンパイル時評価挫折しました。← New!!

軽い気持ちではじめたからDropboxだったけど、sourceforge に場所借りようかな。

143:デフォルトの名無しさん
12/08/16 06:24:04.14
sourceforgeもいいけどgithubもいいよ!

144:デフォルトの名無しさん
12/08/16 09:22:42.65
すげー
乙乙

145:デフォルトの名無しさん
12/08/16 15:00:57.31
>>142
スタックトレース吐いた~~。
URLリンク(ideone.com)

146:デフォルトの名無しさん
12/08/16 15:24:26.01
デマングれてないとこがあるな…

147:デフォルトの名無しさん
12/08/16 21:18:36.18
foreach (; 0 .. 10)
みたいなカウンタ変数すら無いループとかできないかな

148:デフォルトの名無しさん
12/08/16 21:48:54.30
単純に回したいなら、構文は foreach(10) でいいんじゃないか。

149:デフォルトの名無しさん
12/08/16 21:59:31.11
0開始とは限らないから foreach (5 .. 15) も必要じゃね?

150:デフォルトの名無しさん
12/08/16 22:07:14.71
え。ループカウントは使いたいの?

151:デフォルトの名無しさん
12/08/16 22:10:49.41
>>149
変数無いのにどうやってカウント値を参照するんだ?

152:デフォルトの名無しさん
12/08/16 22:20:04.89
カウント変数$_に格納されます

153:デフォルトの名無しさん
12/08/16 22:21:10.27
>>152
Perl?っていうかマジで?

154:デフォルトの名無しさん
12/08/16 22:30:18.95
>>152
だったら普通に変数使えよw

155:デフォルトの名無しさん
12/08/16 23:08:28.66
大してご利益もないのに複雑になるだけの構文イラネ

156:149
12/08/16 23:45:58.67
>>150-151
こいつぁとんだ間抜けだぜ!
笑ってやれ笑ってやれHAHAHA

157:デフォルトの名無しさん
12/08/16 23:48:31.39
src\druntime\import\core\stdc\*
のファイルって2.059だと.diなのに2.060では.dになってるのはなぜですか?

158:デフォルトの名無しさん
12/08/17 00:31:17.53
>>145 おっとこいつは失礼。
-> mqo ファイル内でテクスチャファイル名が絶対パスなの考慮してなかった。直しました。
URLリンク(dl.dropbox.com)
ご指摘ありがとうございました。m(_ _)m

>>143
github のがいいんだ。じゃ次のからそうします。

>>146
2.059の時も文字化け?みたいなのしてたけど2.060でさらに読みにくくなったよね。>スタックトレース

159:デフォルトの名無しさん
12/08/17 01:44:08.70
>>158
スタックトレース吐かなくなりました。GJ!

160:デフォルトの名無しさん
12/08/17 01:54:36.07
foreach (_; 0..10)で我慢

161:デフォルトの名無しさん
12/08/17 11:17:18.65
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk

リンク時にこういうエラーが出ます。
おそらくisAssociativeArrayを使っているからだと思いますが、どうすればいいですか?

162:デフォルトの名無しさん
12/08/17 13:14:26.86
対象の xxxx.lib をコンパイル時に参照するように指定してあげないといけないんじゃないの

163:デフォルトの名無しさん
12/08/17 13:19:36.44
連想配列周りのバグが直ってないのがいくつかあった気がする
URLリンク(d.puremagic.com)

コマンドラインでソースファイル名を渡す順序を入れ替えると
出なくなったりとか変なバグがある

164:デフォルトの名無しさん
12/08/17 17:21:47.56
>>162
isAssociativeArrayはD言語標準なので困ったところなのです。

>>163
コンパイラのバグだったか・・・。
ソースファイルを渡す順序の入れ替え・・・地味な作業になりそうです。

165:デフォルトの名無しさん
12/08/17 17:33:45.50
まさかisAssociativeArrayを関数呼び出ししてない?

166:デフォルトの名無しさん
12/08/17 18:02:24.16
>>165
static if (isAssociativeArray!(Hoge))
こんな感じで使ってます。

167:デフォルトの名無しさん
12/08/17 18:19:15.01
>>161
デマングリングだけしてみた。これに見覚えは?

@property const(uint)[] object.AssociativeArray!(const(char)[], const(uint)).AssociativeArray.values()

168:デフォルトの名無しさん
12/08/17 18:56:17.52
演算子オーバーロードみたいにコンパイラが内部で書き換えるやつじゃね

169:デフォルトの名無しさん
12/08/17 19:48:23.16
それD組み込みの連想配列の実装コードな気がする・・

170:デフォルトの名無しさん
12/08/17 19:53:45.79
なんかkeys使うとリンクに失敗することがあったような

171:デフォルトの名無しさん
12/08/17 20:42:53.43
>>167
直接、そういったテンプレートを呼び出した覚えはないです。

>>168-170
やはりコンパイラのバグか・・・。

172:デフォルトの名無しさん
12/08/17 21:26:10.67
コンパイラはいつも夢を与えてくれますが
同時にバグも残していくのです

173:デフォルトの名無しさん
12/08/17 21:59:34.29
つまり夢いっぱいってことさ。

174:デフォルトの名無しさん
12/08/17 22:04:15.27
Open your Passion!!

175:デフォルトの名無しさん
12/08/17 22:29:42.05
dmdのバグ
price less

176:デフォルトの名無しさん
12/08/17 23:21:32.66
夢だけじゃ腹は膨れないんだよッ

177:デフォルトの名無しさん
12/08/17 23:35:06.98
だったらケーキを食べればいいじゃない

178:161
12/08/18 09:46:56.35
一応報告ですけど、コンパイラをdmd2.059からdmd2.054にしたらビルドできました(他のverは試してない)。

179:デフォルトの名無しさん
12/08/18 09:57:37.82
最新版を試してない・・・だと・・・

180:デフォルトの名無しさん
12/08/18 10:23:58.60
HEADじゃない…だと…?

181:デフォルトの名無しさん
12/08/18 10:42:08.53
dmd -libのときって.libファイル指定できないんですか?

ライブラリソースのlib.dの中ではsc.iniで指定したパスにあるxxx.libの関数を使用しています。
dmd -lib lib.d xxx.lib
⇒Error: Error reading file 'xxx.lib'


もしかしてexeソースのsrc.dで直接xxx.libを使っていなくて
exeを作る場合は依存関係のあるすべての.libをdmdに並べないといけないのでしょうか

dmd src.d lib.lib xxx.lib

182:161
12/08/18 23:32:43.12
dmd2.060が出てたの気づいてなかった・・・。

183:デフォルトの名無しさん
12/08/21 21:40:24.95
URLリンク(dusers.dip.jp)
薄い本がでるのか

184:デフォルトの名無しさん
12/08/21 22:31:12.36
完売したらしいね

185:デフォルトの名無しさん
12/08/22 08:36:23.64
おっくれてるぅー

186:デフォルトの名無しさん
12/08/22 17:23:50.31
あれだけ扱い難いC/C++の処理系のバグの少なさには恐れ入ったもんだが
Dはどうしてだめなんだ。

187:デフォルトの名無しさん
12/08/22 17:25:52.37
仕様が決まってないから

188:デフォルトの名無しさん
12/08/22 17:37:57.10
こればかは
どうしようもない

189:デフォルトの名無しさん
12/08/22 19:47:24.59
URLリンク(dlang.org)
ずいぶん改善されてる実感はあるんだけど
せめて、Criticalが1桁になればなあ・・


190:デフォルトの名無しさん
12/08/22 19:49:25.17
ウォルターの存在自体がバグ

191:デフォルトの名無しさん
12/08/22 21:30:22.40
>>189
改善されてないでしょ…
バグ曲線の見方は、newが少なくならないと安定してきたとはみなされないし。

192:デフォルトの名無しさん
12/08/22 22:56:54.33
class C{...}
class D : C{...}

C d = new D;

dからDを得る方法ありますか?
typeof(d)だとCになってしまう。

193:デフォルトの名無しさん
12/08/22 23:23:48.46
d.typeof

194:デフォルトの名無しさん
12/08/23 12:09:18.20
d.toString

195:片山博文MZボット ◆0lBZNi.Q7evd
12/08/23 16:15:36.24
>>82 できました。

196:片山博文MZボット ◆0lBZNi.Q7evd
12/08/23 16:52:33.59
遅くなってごめんなさ

197:デフォルトの名無しさん
12/08/23 16:59:14.16
あんなマンパワーの居る作業を一人でやったのか…
お疲れさん。

198:デフォルトの名無しさん
12/08/23 19:40:34.48
>>196
Makefile
46 : ## DEBUG OR RELEASE?
逆じゃね?

199:デフォルトの名無しさん
12/08/23 21:10:34.89
## DEBUG OR RELEASE?
DFLAGS=-inline -O -release -w $(DEFS) # for Debug (default)
#DFLAGS=-debug -gc -unittest -w $(DEFS) # for Release

これは逆やね

200:デフォルトの名無しさん
12/08/24 22:15:41.39
C言語のライブラリから
char* hoge();
を文字列として引っ張ってきたいのですが、そのままだと文字のポインタのような感じになってるみたいです。
文字列のように持ってくる何かいい方法は無いでしょうか

201:デフォルトの名無しさん
12/08/24 22:53:42.86
D言語だって文字の配列だよ

202:デフォルトの名無しさん
12/08/24 22:56:05.46
hoge().to!string();

203:デフォルトの名無しさん
12/08/24 22:56:06.23
ポインタから勉強しなおしてto!stringしろ

204:デフォルトの名無しさん
12/08/24 22:57:25.06
メモリリークの予感しかしない

205:デフォルトの名無しさん
12/08/24 23:00:16.96
>>200
char* p = hoge();
string s = p[0 .. strlen(p)].idup;
というのが一番簡単かな

Cライブラリで確保されたメモリは
GC管理下に無いからコピーした方が扱いやすいと思う
自分で管理出来るならidupしないでキャストしてもいいのかな

206:205
12/08/24 23:01:55.61
あ、toで行けるのかスマン知らなかった
to賢いな

207:デフォルトの名無しさん
12/08/24 23:08:16.61
>>200はポインタに対しての理解度があやしいので
その関数がmallocしてくるのかstaticな領域を返すのか確認した方がいいです

208:デフォルトの名無しさん
12/08/24 23:09:35.25
>>206
isたんもかわいいお

209:デフォルトの名無しさん
12/08/24 23:22:48.60
>>208
スレリンク(tech板)

210:200
12/08/24 23:40:17.15
hoge().to!string();
ですね。

関数内で作成した文字列は危険だから返すな!
予めメモリを確保した所から文字列としてchar*を返す分には問題ない。

とかそういう感じですかね?
ご指摘ありがとうございます。ちゃんと手直ししました。

色々とありがとうございます。

211:デフォルトの名無しさん
12/08/24 23:43:42.83
要するにmallocしたらfreeしろってことだよ

212:デフォルトの名無しさん
12/08/24 23:47:41.56
ぼくのアナルも排便した後は女の子に舐め取ってもらいたい!

213:デフォルトの名無しさん
12/08/24 23:49:28.53
その後はすかさずベロチューか?
お前とはうまい酒が飲めそうだ

214:デフォルトの名無しさん
12/08/24 23:53:40.52
ハードコアだな

215:デフォルトの名無しさん
12/08/24 23:56:57.30
マゾしかいないのかと思ったらスカトロマニアも多いとは……。
趣味がが増えたよ! やったねたえちゃん!

216:デフォルトの名無しさん
12/08/25 01:04:46.58
D言語のマスコットでエロゲ作ろう

217:デフォルトの名無しさん
12/08/25 01:06:23.59
そこはマスコットと言わず高クオリティーで頼む

218:デフォルトの名無しさん
12/08/25 01:53:04.54
ボコォ

219:デフォルトの名無しさん
12/08/25 13:24:47.03
classインスタンスのアドレスを取るときって↓で良い?
あとこういうのってどこに仕様書いてありますか

C c = new C;
cast(void*)c

220:デフォルトの名無しさん
12/08/25 17:24:59.46
URLリンク(www.kmonos.net)
> クラスオブジェクトは参照によってのみインスタンス化されます。

221:デフォルトの名無しさん
12/08/25 19:33:51.34
ありがとうございます。
そこは見たのですが、その「参照」は何もラップされていないアドレスと考えて良いんですか?

222:デフォルトの名無しさん
12/08/25 20:11:51.25
TypeInfo_Classがあるだろう。

223:デフォルトの名無しさん
12/08/25 20:33:19.69
>>219それで合ってるよ

224:デフォルトの名無しさん
12/08/26 02:18:07.74
&thisとかはスコープ外れた時に使えなくなるみたいなんだけど
どっかでポインタ用の変数を自動生成してるってこと?

225:デフォルトの名無しさん
12/08/26 02:27:41.88
thisは変数だし、&thisは変数へのポインタなんだから当たり前だろ。

226:デフォルトの名無しさん
12/08/26 02:38:20.51
ん?じゃあ外部で生成されたクラスのアドレスを
クラスの内部から取得する場合にはどうすればいいの?

クラスが生成されてる間に、アドレスの形で保持しておいて
スコープが外れても色々な所で使い回したいとかそういうケースなんだけど

227:デフォルトの名無しさん
12/08/26 03:03:57.14
クラス内のthisも参照だけどそのへんわかってる?

228:デフォルトの名無しさん
12/08/26 04:01:17.55
多分よく分かってません
thisは、Classへのアドレス?
&thisは、Classへのアドレスを記憶するために変数が用意される感じ?
とか、そんな感じで混乱してます

229:デフォルトの名無しさん
12/08/26 10:10:20.29
thisはクラスのインスタンスを指す参照変数で、&thisはその参照を指すポインタを得る。
参照変数の内容にはポインタを含むから、&thisはポインタのポインタになるってわけ。

230:デフォルトの名無しさん
12/08/26 10:12:39.89
s/ポインタ/アドレス/g

231:デフォルトの名無しさん
12/08/26 12:10:55.47
>>226
そういう場合に>>219を使う。
thisからアドレスを得たいなら cast(void*)this でいい。

232:デフォルトの名無しさん
12/08/26 14:04:30.06
基本的には>>219でいいけど、CがopCastを定義していると動かない
もうちょっとよいやり方はこちら

C c = new C;
void* p = *cast(void**)&c;


233:デフォルトの名無しさん
12/08/26 15:43:06.33
Dのマスコット作ってる暇があるなら
ウォルタくんはこういうややこしい部分を図解してやればいいのになw

234:デフォルトの名無しさん
12/08/26 16:20:28.86
ややこしいのか・・・?

235:デフォルトの名無しさん
12/08/26 16:53:50.45
クラスのアドレスって何に使えるんだろう?

236:デフォルトの名無しさん
12/08/26 17:11:05.96
memsetとかか。ガクブル。

237:デフォルトの名無しさん
12/08/26 17:50:18.80
SetWindowLongしたりemplaceしたインスタンスをfreeするのに使ったり

238:デフォルトの名無しさん
12/08/27 00:00:18.60
リンカが出す「Error 32: Data Outside Segment Bounds : _DATA」ってエラーはどんな意味なんだい
何をすれば解決するのかさっぱりで

239:デフォルトの名無しさん
12/08/27 03:18:43.15
みんなのおかげで次のステップに移ることができたよ
ありがとう

240:デフォルトの名無しさん
12/08/27 07:03:55.03
>>238
align絡みだと思う
こっちでは
align(1) struct S {...}
みたいなのがあると出た

struct S {align(1): ... }
なら問題無しみたい

241:片山博文MZボット ◆0lBZNi.Q7evd
12/08/27 20:08:06.06
Warning 178: .LIB pagesize exceeds 512

助けて! -L/PAGESIZE:1024を付けてもダメだった。

242:片山博文MZボット ◆0lBZNi.Q7evd
12/08/27 20:37:29.03
ライブラリが大きすぎるということか? でも二つに分けたくないな。

243:デフォルトの名無しさん
12/08/27 20:43:50.09
単純な数値定数はconstではなくenumにすると、シンボルが出力されないからライブラリサイズが減るかも。

244:デフォルトの名無しさん
12/08/27 21:38:26.40
OPTLINKを甘く見るな
吐いてるエラーメッセージが真実とは限らない

245:デフォルトの名無しさん
12/08/27 23:03:47.65
2.060でalign属性がいかれちまってるんですが、
これはD言語erにとって大したことない感じなの?

246:デフォルトの名無しさん
12/08/27 23:18:38.10
なに、ちょっとした崩壊的変更だ
一日ちょっと楽しめたぜ

247:デフォルトの名無しさん
12/08/27 23:53:42.34
align(1)が変更つうかぶっ壊れてる気がするんですが、変更なの?

248:デフォルトの名無しさん
12/08/27 23:56:21.38
struct S {align(1): ...}
でサイズが計算と合わない

249:デフォルトの名無しさん
12/08/28 01:21:00.19
URLリンク(d.puremagic.com)
うぉるたんが disastrous bug って言ってるヤツかな
緊急リリースが出るかと思ってたけど出ない

250:デフォルトの名無しさん
12/08/28 06:30:28.64
こういう話を見るたびに思うんだけど
Dがつく単語をわざと選んでんのかな

251:デフォルトの名無しさん
12/08/28 10:10:20.94
選んでるかまでは知らんが
破壊とか崩壊とか解体とか災厄とか絶望とか、
その手の単語はラテン語源のことが多いけど、
そっちで接頭辞 de- とか dis- とかがつく単語で表現されてるもんだからもともとDで始まる単語が多い

252:デフォルトの名無しさん
12/08/28 10:23:28.24
destroy

253:デフォルトの名無しさん
12/08/28 11:39:10.70
dildo

254:デフォルトの名無しさん
12/08/28 19:18:25.79
dragonic change

255:デフォルトの名無しさん
12/08/28 20:15:31.49
"D"にこれ程深い意味があったとは

256:デフォルトの名無しさん
12/08/28 20:46:15.28
Dragon → Dlagn → D lang

257:デフォルトの名無しさん
12/08/28 21:06:46.87
>>248
align(1) struct S{ align(1): ... }

258:デフォルトの名無しさん
12/08/28 21:25:16.15
Dのあのマスコットはドラゴンなのか?

259:デフォルトの名無しさん
12/08/28 22:33:55.88
Dの意思

260:デフォルトの名無しさん
12/08/29 03:17:30.61
The D like a mascot is a Doughnut.
You can eat it everywhere.

261:デフォルトの名無しさん
12/08/29 04:09:05.33
void main()
{
import std.stdio;
"hello, world".writeln();
}


> a.d(4): Error: undefined identifier 'writeln'

           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |

262:デフォルトの名無しさん
12/08/29 04:10:47.72
なんだそのエラーメッセージwもっと言うことあるだろ

263:デフォルトの名無しさん
12/08/29 13:40:06.45
>>261
URLリンク(d.puremagic.com)
仕様。フリー関数じゃないとダメってどこかで見た気がする

だがしかし関数内のインポートはバグだらけだから避けるのが吉

264:デフォルトの名無しさん
12/08/29 22:32:14.61
そうかー
関数内インポートは控えておくかな

265:デフォルトの名無しさん
12/08/29 22:33:24.43
昨日>>261見て関数内で使えることを知って張り切って関数内import入れまくった後なのに・・・

266:デフォルトの名無しさん
12/08/29 23:12:02.70
imporせずに関数使いたいことが稀によくある
デバグのためにpragma(msg)やる時とか

267:デフォルトの名無しさん
12/08/30 03:16:30.64
え、インポなの!?

268:片山博文MZボット ◆0lBZNi.Q7evd
12/08/30 12:32:22.03
「Unexpected OPTLINK Termination」で見事にこけた。
URLリンク(d.puremagic.com)
バグだらけだな、こりゃ。

269:片山博文MZボット ◆0lBZNi.Q7evd
12/08/30 12:52:06.69
#define HANDLE_MSG(hwnd, message, fn) \
case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))

これをD言語に翻訳するとどうなる?

270:片山博文MZボット ◆0lBZNi.Q7evd
12/08/30 12:57:45.60
Unexpected OPTLINK Termination at EIP=00402C5C
EAX=0000027C EBX=0052A2F8 ECX=00000001 EDX=00039FFF
ESI=02ED3083 EDI=00003D84 EBP=00000006 ESP=0012FF48
First=00402000

271:デフォルトの名無しさん
12/08/30 13:16:15.89
OPTLINKはD言語最大の癌

272:デフォルトの名無しさん
12/08/30 14:10:35.23
Linuxばんじゃーい!!!

273:デフォルトの名無しさん
12/08/30 14:12:25.30
gdcがんばれー><

274:デフォルトの名無しさん
12/08/31 05:36:40.54
HANDLE_MSG(m_hWnd, WM_CLOSE, Cls_OnClose);

case WM_CLOSE: return HANDLE_WM_CLOSE(m_hWnd, lParam, wParam, Cls_OnClose);

275:デフォルトの名無しさん
12/08/31 17:52:40.07
文字列ミックスインで頑張ってここまではできた

switch (msg) {
mixin(
makeHNDR!(hwnd, WM_MSG1, "handler1")() ~
makeHNDR!(hwnd, WM_MSG2, "handler2")() ~
""
);
default:
}

URLリンク(ideone.com)

276:デフォルトの名無しさん
12/08/31 21:55:06.72
汚いなぁそれやるなら公式で紹介されてるcond使えし

277:片山博文MZボット ◆0lBZNi.Q7evd
12/08/31 22:32:48.67
>>275
有り難う。いい方法見つかった。

278:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 17:37:01.86
GDCでスタティックライブラリを作る方法、教えて。

279:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 17:50:07.41
「ar rv ライブラリ オブジェクト」でいいのか?
エラーがでるけど。


280:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 18:03:05.77
GDCでd2hello.exeがビルドできるようにしてください。お願いします。
URLリンク(dl.dropbox.com)

281:デフォルトの名無しさん
12/09/01 18:33:27.50
そういうのはtwitter使ったほうが早いよ

282:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 18:39:22.97
>>281 twitter反応がない。。。つぶやき方が悪いのか

283:デフォルトの名無しさん
12/09/01 19:07:27.04
つぶやきシローみたいなノリでいくといいよ

284:デフォルトの名無しさん
12/09/01 19:55:25.84
質問するときは #dlangつけれ

285:デフォルトの名無しさん
12/09/01 20:14:49.10
さすがにそれはやってるだろう

286:デフォルトの名無しさん
12/09/01 20:32:44.54
D言語disりつつ質問すれば、反応はしてくれるはず

287:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 20:33:10.08
C:\crossdev\gdc\v2\build\i686-pc-mingw32\libphobos/../../../gcc-4.6.1/libphobos/
core/sys/windows/windows.d:2780: multiple definition of `MAKEINTRESOURCEA@4'
libWonders7Wide.a(winuser.o):winuser.d:(.text+0x10): first defined here

元から有るライブラリと重複しているみたいだな。
libphobosをリンクしない訳にもいかないし。

288:デフォルトの名無しさん
12/09/01 20:53:37.13
D言語に関連してる限りはここでもいいんじゃないの
他の言語と違ってエラーメッセージがコンパイラ側のバグとかもよくあるし。
全く関係無くしゃしゃり出てたらさすがに余所でとか言いたくなるけどそういうわけでもなさそうだし。

289:デフォルトの名無しさん
12/09/01 20:55:31.57
>>287
いや、普通に考えてwindows.hの代替ライブラリ作ってるなら
core.sys.windowsとかをimportしちゃ駄目でしょw

290:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 20:57:00.66
>>287 関数名変えて、aliasつけて解決した。

291:デフォルトの名無しさん
12/09/01 21:01:15.91
>>289
プログラミング初心者レベルだな…

292:片山博文MZボット ◆0lBZNi.Q7evd
12/09/01 22:13:13.80
>>289 そんなものをimportした覚えはないが

293:デフォルトの名無しさん
12/09/01 22:14:41.11
もしかしてWinMainとか使ってたり
なわけないか

294:デフォルトの名無しさん
12/09/02 12:39:24.76
phobos の中でこっそり public import して"感染"状態を引き起こす奴がいる
潜在的にバグと言っていいんじゃないかな

それと、大きめのプロジェクトで -g(デバッグシンボル) をつけると OPTLINKがゴネることがある

295:デフォルトの名無しさん
12/09/02 22:30:19.52
これはどういうこと?

dmd con.d
→Error: cannot read file con.d

mv con.d co.d
dmd co.d
→OK

296:デフォルトの名無しさん
12/09/02 22:46:35.08
void main()
{
  class Base{}
  class Derived : Base{}
  alias Base delegate(Base) P;

  P p1 = (Base b) => new Base; // ok
  P p2 = (Base b) => new Derived; // ok
  P p3 = (Derived b) => new Base; // NG
  P p4 = (Derived b) => new Derived; // NG
}

p3, p4はいつできますのん

297:デフォルトの名無しさん
12/09/02 23:01:22.48
Derivedしか受け付けない関数にただのBase渡せちゃうからダメじゃないの?

298:デフォルトの名無しさん
12/09/02 23:23:09.92
イベントハンドラに使いたいんだけど無理かぁ・・・

299:デフォルトの名無しさん
12/09/03 01:01:54.87
>>295
たぶんOSの予約デバイス名に引っかかってる

300:デフォルトの名無しさん
12/09/03 01:49:11.93
そういや、CONCONバグとかあったよな。ああ懐かしき9x…

301:デフォルトの名無しさん
12/09/03 02:55:40.08
Call of Duty だな

302:デフォルトの名無しさん
12/09/03 11:36:04.87
納得いかねー!!
URLリンク(d.puremagic.com)

↓こういうアホライブラリは一体どうしてくれよう…
setXXX はないけど getXXX に final つけちゃった☆

303:片山博文MZボット ◆0lBZNi.Q7evd
12/09/04 14:56:22.65
URLリンク(codepad.org)
codepadのDコンパイラって古いんですね。

304:片山博文MZボット ◆0lBZNi.Q7evd
12/09/04 15:05:15.38
GDCもバグだらけ。やってられない。
URLリンク(bitbucket.org)
D言語やめよっかな?

305:デフォルトの名無しさん
12/09/04 15:13:18.79
かまってちゃんきたー

306:デフォルトの名無しさん
12/09/04 15:30:22.90
D2が安定してもどうせD3で破壊的変更が繰り返されるのでそれに付いて行く覚悟のない奴はさっさとやめればいいよ

307:デフォルトの名無しさん
12/09/05 01:13:40.58
>>304
やめるなんて勿体ない
そこまでの開発意欲があるのなら
コンパイラのバグ退治もしながら言語にも良い影響を与えてやってくれ

308:デフォルトの名無しさん
12/09/06 08:08:40.62
最初だけ食いついて飽きたらポイしたのに俺のおかげでDは成長したみたいな顔してる人も居たような居なかったような
継続してなんかやってくれてる人はありがたい

309:片山博文MZボット ◆0lBZNi.Q7evd
12/09/06 13:58:19.14
>>304のバグが修正されるまで、Wondersの開発を中断します。

310:デフォルトの名無しさん
12/09/06 20:38:56.38
チェンジログに大量に追記されているのに気づいた。
でもこのままだと公式ドキュメントに反映されないっての…どうすんのさ
URLリンク(github.com)

311:デフォルトの名無しさん
12/09/07 01:28:05.11
URLリンク(github.com)
だれかこのおっさん止めてー

312:デフォルトの名無しさん
12/09/07 06:37:33.79
>>311
assertが有効になってるかどうかでの分岐だろ
あって困るようなもんでもないと思うが…

313:デフォルトの名無しさん
12/09/07 10:33:16.99
`assert({
/* ... */
return true;
}());

これで十分。

314:デフォルトの名無しさん
12/09/07 11:42:20.78
そういえば version (release) がないと
assertに対応する条件コンパイルは書けないんだったな

そっちの方が潰し柿食うと思うんだが

315:デフォルトの名無しさん
12/09/07 15:32:21.43
>>311
なんてこった、敵の動きは早いぞ!

URLリンク(dlang.org)

316:デフォルトの名無しさん
12/09/07 16:52:17.06
D_NoBoundsChecks
これ?
これがどうしたの?

317:デフォルトの名無しさん
12/09/07 19:15:49.71
もはやコンパイルオプションでversion出来たらいいよねってレベル

318:デフォルトの名無しさん
12/09/07 20:58:13.07
version (is > 3.141)
こんな感じ?

319:デフォルトの名無しさん
12/09/07 22:23:45.20
@property以外は引数なくても括弧省略できなくなった理由ってなんなんですか?
って、あれ?
今試したらかっこつけなくても怒られなくなってる。
元からそうだっけ?

320:デフォルトの名無しさん
12/09/08 00:16:13.87
-property enforce property syntax

321:デフォルトの名無しさん
12/09/08 00:55:19.90
なるほど

322:デフォルトの名無しさん
12/09/08 18:07:27.84
trunk見てると Win64の文字が舞い踊って次のリリースが楽しみだ

たぶん全く関係ないところにも大量のreg(ry

323:デフォルトの名無しさん
12/09/08 18:21:07.23
Win64で3Dポリゴンの演算能力が!

324:デフォルトの名無しさん
12/09/08 19:39:30.27
いやしかしCPUが64になってもポリスペックはGPUに依存するんじゃないか

325:デフォルトの名無しさん
12/09/08 20:13:55.89
ニンテンドー64の話をしてるんだわさ!

326:デフォルトの名無しさん
12/09/08 23:11:14.11
いや、今まで「OPTLINKの制約でゴニョゴニョ…」と先延ばしにされてきた問題が
一挙に解決…!! するはず

てかリンカのソースマダー? チン、チン

327:デフォルトの名無しさん
12/09/09 04:34:40.90
ランカ・リー?

328:デフォルトの名無しさん
12/09/09 16:58:30.88
D言語で動的ジャグ配列ってどうやるの?
↓?
int[/*a3*/][/*a2*/][/*a1*/] a = new int[a1][a2][a3];

329:デフォルトの名無しさん
12/09/09 17:04:15.96
他の言語と同じように↓みたいにはできるのですが、もっとシンプルにはならないでしょうか
a = new int[][2];
a[0] = new int[3];
a[1] = new int[3];

330:デフォルトの名無しさん
12/09/09 18:39:07.37
URLリンク(www.kmonos.net)
int[][][] bar = new int[][][](5,20,30);

331:デフォルトの名無しさん
12/09/09 21:29:35.62
>>330 了解

332:片山博文MZボット ◆0lBZNi.Q7evd
12/09/12 14:27:44.82
gdc.exe -v2 -c -frelease -finline-functions -O3 -fweb -Wall
-fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild
-o wonders\commctrl.o wonders\commctrl.d
gdc.exe: error: unrecognized option '-v2'
何なんだこれは?

333:デフォルトの名無しさん
12/09/12 15:01:17.89
gdc.exeさんは言いました:
-v2 って何の事? ボクチャン、ワカンネ

334:デフォルトの名無しさん
12/09/12 19:07:03.20
assaultかbusterをつけろ

335:デフォルトの名無しさん
12/09/13 02:00:15.68
URLリンク(bitbucket.org)
-fd-version=1

D2にしたいの? デフォルトでそうなってるっぽい
動かして確かめたわけじゃないけど…

336:デフォルトの名無しさん
12/09/13 11:19:46.12
>>334
ガンヲタ乙

337:片山博文MZボット ◆0lBZNi.Q7evd
12/09/13 13:17:04.60
>>335 ありがとう!

338:デフォルトの名無しさん
12/09/13 23:08:33.78
公式でD言語に追加されそうな話が出てる機能ってどんなのあります?

339:デフォルトの名無しさん
12/09/14 01:05:03.76
64bit win

340:デフォルトの名無しさん
12/09/14 01:37:19.97
filterの返すrangeってlength持ってないんだっけ

import std.stdio;
import std.algorithm;
void main()
{
  auto a = [1, 2, 3, 4, 5];
  writeln(a.filter!(n=>n&1)().length); // Error: undefined identifier 'length'
}

341:デフォルトの名無しさん
12/09/14 01:42:21.91
長さ決まってたら遅延評価っぽいことできないじゃん。逆だけど

342:片山博文MZボット ◆0lBZNi.Q7evd
12/09/14 12:21:07.01
Wonders64ビット対応したよ。GDCで-fd-version=1をつけるとエラーが出てくる。何で?

gdc.exe -fd-version=1 -c -frelease -finline-functions -O3 -fweb -Wall -mwin32 -
fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild -o wonder
s\basetsd.o wonders\basetsd.d
c:\mingw64\include\d2\4.6.1\object.di:27: function declaration without return ty
pe. (Note that constructors are always named 'this')
c:\mingw64\include\d2\4.6.1\object.di:27: no identifier for declarator immutable
(char)

343:デフォルトの名無しさん
12/09/14 19:16:46.19
エラーメッセージだけ出して丸投げすんな

344:デフォルトの名無しさん
12/09/15 00:10:06.46
>>341
ああ・・・length如きで停止しないプログラムになったら困るよね・・・

↓これって結果が違うのは仕様なんですか?
import std.stdio;
void main()
{
  writeln(typeid(typeof(()=>1)));
  writeln(typeid(typeof(()=>{return 1;})));
}

結果
int()*
int()*()*

345:デフォルトの名無しさん
12/09/15 00:11:47.01
ラムダ式にデリゲートあるんだからそれが正常

346:デフォルトの名無しさん
12/09/15 00:56:00.68
なるほど{}が関数リテラルと判断されてるのね

347:デフォルトの名無しさん
12/09/15 01:21:14.69
writeln(typeid(typeof((){return 1;})));
でいいのよ?

348:デフォルトの名無しさん
12/09/15 01:33:21.25
俺も前それでハマったな
それでこのスレに書き込んだっていう

349:片山博文MZボット ◆0lBZNi.Q7evd
12/09/15 11:31:42.00
>>343 エラーメッセージ以外に何を出せばいい?

350:デフォルトの名無しさん
12/09/15 13:06:47.53
何より速さが足りない

351:デフォルトの名無しさん
12/09/15 14:22:32.04
>>349
エロ画像

352:デフォルトの名無しさん
12/09/15 15:42:16.58
いっとくけどめんくいだから美少女の顔が毛穴まで見えるほどのサイズのモザなしフェラ画像じゃないと答えん

353:デフォルトの名無しさん
12/09/15 17:31:32.01
dlang.org シボンヌ

354:片山博文MZボット ◆0lBZNi.Q7evd
12/09/16 20:25:07.03
>>350
何をお急ぎ? 要望あらばやがて果たしたし候。

355:デフォルトの名無しさん
12/09/16 23:30:58.98
optlinkさえ、optlinkさえ真っ当なら-gつきコンパイルでライブラリの深淵のエラー箇所を特定できるものを…

356:デフォルトの名無しさん
12/09/17 00:33:58.62
optlinkちゃんのgスポットは俺が独占して開発できるのだ
他の人には触らせないのだ

357:デフォルトの名無しさん
12/09/17 15:19:57.82
エラーが何も出ていないのにexeが作成できていない現象出たことあるひとアドバイスplz

358:デフォルトの名無しさん
12/09/17 15:50:04.13
リンクに失敗したとかでなくまったく何も出てない?

359:デフォルトの名無しさん
12/09/17 15:57:11.38
まったくメッセージがでないんだ・・・
dmdのコマンドラインには存在するソースファイル名の他にオプションとか全然指定してないし
わけが分からないよ・・・

360:デフォルトの名無しさん
12/09/17 16:03:47.11
うーん、実はなんか違うえたいのしれないdmdを呼び出してるとか?
whichは…Windowsにはないよなぁ

361:デフォルトの名無しさん
12/09/17 16:14:41.35
関数一個削ったらコンパイル通ったったった・・・
もともと文法エラーで通らない関数なんだけど
それがあると何もメッセージなしでコンパイル終了、exeが出来ない
ないとコンパイル通ってexeが出来る

問題の関数で現象が発生する最小コードが分からないんだけど構造は大体こんなでした
Tuple!(bool, 構造体) func()
{
        : 処理
    return Tuple!(true, 構造体インスタンス); //コーディングミス
}

362:デフォルトの名無しさん
12/09/17 17:00:03.01
エラーメッセージすら出せずに落ちるバグがdmdに?

363:デフォルトの名無しさん
12/09/17 22:27:50.74
質問です。
数値の範囲を逆順foreachするうまい方法ばありますか??

foreach(i; 0..5) ←●これを逆順走査したい

foreach(i; 5..0) ←×ループされない
foreach(i; iota(0, 5).reverse) ←×iotaはreverse出来ない
foreach(i; iota(4, -1, -1)) ←×[4~-1)は[0..5)と見た目が違いすぎて直感的じゃない
for(auto i = 4; i >= 0; i--) ←×出来れば見た目がすっきりしたforeachを使いたい

今のところ以下が良いかと思ってるのだけれどこれよりすっきりした方法ってありますか?
foreach(i; iota(0, 5).array.reverse)

364:デフォルトの名無しさん
12/09/17 23:06:31.07
foreach_reverse

365:デフォルトの名無しさん
12/09/17 23:38:00.03
な、なんだってーーー Ω ΩΩ
うわ、本当だ…恥ずかしい

foreach_reverseなんてopApply時代の化石くらいにしか思っていませんでした。。

366:デフォルトの名無しさん
12/09/17 23:51:41.60
なにげに役に立つんだよねforeach_reverse

367:デフォルトの名無しさん
12/09/17 23:56:15.14
レンジに対してでいいならretroでいいと思うけどね

368:デフォルトの名無しさん
12/09/18 10:02:22.02
foreach_reverseが消えるとかいう話はどうなったの

369:デフォルトの名無しさん
12/09/18 21:21:11.48
いいね
foreach(i; iota(0, 5).retro)

370:デフォルトの名無しさん
12/09/19 09:06:49.13
Effective D 第1項 「forではなくforeachを使おう」


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch