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


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

D言語 Part17



1 名前:デフォルトの名無しさん [2008/02/10(日) 15:06:12 ]
プログラミング言語 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の入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)

■ IDE
ttp://dronten.googlepages.com/dscite (DSciTE)
ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
ttp://www.dprogramming.com/entice.php (Entice Designer)
ttp://www.dsource.org/projects/descent (Descent)
ttp://www.dsource.org/projects/poseidon (Poseidon)

116 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:22:23 ]
エントリポイントがないから。

extern(C) int main(int argc, char* argv) {
main();
return 0;
}

117 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:33:14 ]
>>116
を追加したらちゃんと表示された。サンクス。

ってことはGCのコード外すとDプログラムの前処理や後処理のコードも消えるってことか。
Dのプログラムはどこにエントリポイントがあるのかと思ってたけど、そんなところにあったのか。

118 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:44:48 ]
gcstubリンクすると連想配列使えないとかforeach使えないとか、
様々な悪夢が起きるからやめたほうがいいと思うよ。

119 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:45:21 ]
>>117
エントリポイントはphobosが持ってる。

120 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 03:03:11 ]
www.kmonos.net/alang/wnd/topics/winapi.ja.html
この辺を参考にしてwin32プログラムに挑戦してるんですが、
以下のプログラムを実行すると、強制終了してしまいます。
これって何が悪いんでしょうか。

import win32.core, std.string;
extern (Windows)
int WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
{
    format("%d", 2);
    return 0;
}

コンパイラはDMD v2.010です。

121 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 04:19:43 ]
GCとか初期化する前にformat読んだからじゃない?
www.kmonos.net/alang/d/2.0/windows.html

122 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 04:31:54 ]
できました!ありがとうございます。

自分でWinMainを書くと、phobos側でやってくれたGCの初期化処理が行われないんですね。
納得です。

123 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 04:47:40 ]
自分でWinMainってなんの為に書くの?
公式だと書いてるけどわなDには「書く必要はない」ってあるし。引数が欲しいから?

124 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 05:41:03 ]
>>123
あ、そこら辺俺も知りたい。
普通の言語で、エントリポイントは何をしてからmainに回ってくるのか、mainの前にいくつ経由してくるのか、
WinMain/DllMainだとどう違うとか。それで、D言語だと他のと違ってこれをする。とか。
エントリポイントあたりを解説してるサイトとかないかな。

あと自分で調べたこともちょっとメモ。間違ってたら指摘ください。
GC切ったプログラムに挑戦してる中で、DllMain()で自分で呼んでる_minit()/_moduleCdtor()/_moduleUnitTests()/_moduleDtor()が何をしてるか知りたくてソース見てきた(Phobos)んだけど、
_minit()はModuleInfoって奴をD言語形式に変換してる。おそらく_moduleCdtorとか呼ぶ準備。アセンブリでたった数行だった。
_moduleCtorはコンストラクタ実行らしい。ソース読んでも良く分からなかったけど、コンストラクタ/デストラクタ/単体テストの準備をしてたと思う。あと中でnewが使われてたから、GC切った環境でこれ呼ぶと落ちる。
残りの二つはおそらく_moduleCtorの準備したデータにアクセスしてる。_moduleDtorはデストラクタ実行。_moduleUnitTestsは単体テスト実行。他のことはしてないっぽい。

というわけで今はモジュールコンストラクタも単体テストも書かず、↑の関数一つも呼ばずにDLL作ってます。



125 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 06:39:29 ]
>>123
Win32APIの勉強をするにあたって、
wisdom.sakura.ne.jp/system/winapi/win32/index.html
ここを参考にしてるからです。
形式を合わせただけなので、WinMainを自分で書いたことに特に意味はありません。

126 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:53:56 ]
ちょっと解説してみようか。

たとえばCのスタートアップでは、コンソールハンドル(stdinとかね)のopen、
例外機構を持つ言語ならそのセットアップ等、プログラムを実行するために必要な準備をしてから、
ユーザープログラムの開始点を呼び出す。
もちろん、後処理(開いているハンドルのcloseとかatexitの関数実行など)も含まれている。

DMDの場合、Dとしてのスタートアップの前に、DMCのスタートアップがあるのが少しややこしいところ。
DMCのスタートアップ→DMDのスタートアップ→ユーザープログラムという三段構えになっている。

DMCでは、ソース中に含まれるmain、WinMain、DllMain等を判別し、
それに応じた(DMCの)スタートアップを自動的にリンクするようになっている。
この仕組みをDMDから使用した場合、Phobosに含まれるextern(C)のmainがDMCからみたmainということになり、
そちらが呼び出されることによって、Dのスタートアップが実行されるという仕組みになっている
(DMCからは、いわゆるextern(D)な関数の変名規則は未知なので、Dのソースコードのmainは、DMCからmainとして認識されない)。
ライブラリのリンク優先度は低いので、先にWinMain等が見つかると、
そちらのスタートアップが使用されるため、Phobos内のextern(C)のmainは呼び出されず、
Dのスタートアップは実行されない。
WinMain等で手動でスタートアップの関数を書かなければいけないのは、この仕組みのため。


127 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 19:47:29 ]
構造体のポインタにwithしてもパラメータ呼び出せるようにならないかなー

128 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 19:48:59 ]
言葉間違えすぎわらったです
パラメータじゃないメンバー

129 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:52:19 ]
>>127
*付けて with(*p) とかにすると大丈夫みたいだよ。

130 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:50:32 ]
>>129
う、うぃずぴー・・・

131 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:07:57 ]
最近このスレ寂しいな。

ところで、Cスタイル可変個引数関数を使おうとしたんだけど、
extern(C) void foo( int a, ... ){
  void* p = _argptr;
}

って感じで_argptrを使おうとすると、

Error: undefined identifier _argptr

とエラーが出た。多分バグかと。
とりあえずC言語で可変個引数のメモリ配置とか調べてみると
単純に引数が順番に置かれてるだけだった。
だから解決策として、

void* p = cast(byte*)&a + int.sizeof;

って自分で求めてこれを_argptrとして使ったら今のところ上手くいってる。これって既出?
あとついでにDスタイルの可変個引数のメモリ配置も調べてみたんだけど、どうやらCスタイルと一緒っぽい。


132 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 06:42:17 ]
Tango XML now in trunk!
dsource.org/projects/tango/forums/topic/393
超期待

133 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:44:31 ]
>132
おぉーこれは……

ってかTangoってなぜあのへんてこな構文なのか誰か教えてorz

134 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:17:40 ]
>>133
どのあたりが変?
実はphobosあまり知らずにtangoから入ったからあまり使いにくさを感じない。
結構すっきりしてて使いやすいと思う。
確かにモジュール名が大文字始まりなのは最初は変だと思ったけれども。



135 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:28:18 ]
2.0の対応予定無いのかなあ。
モジュール名のこととか、なんかもうちょい足並みが揃って欲しい。

136 名前:133 mailto:sage [2008/02/18(月) 09:55:02 ]
Cout("Hello")(" ")("World").newline;
ttp://www.dsource.org/projects/tango/wiki/TutSimpleIO

とか、とにかく \n が .newline ってのが馴れないんだよね。

137 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:59:55 ]
あー、それは確かに驚いたけど、そんな書き方自分は使わないからあんまり気にならないかなw
というかいつもStdout使ってる。あれ?Coutってもしかして\n使えない?

138 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 10:18:05 ]
>>131
そういや仕様書のCスタイル可変個引数の例文の方でも、
Cのリンケージと言いつつextern(C)しない_argptrのコード例しか
載ってないんだよな。

2.010で再現した。バグだろね。たぶんスレでは初出。

139 名前:131 mailto:sage [2008/02/18(月) 10:22:47 ]
あ、バージョン書き忘れてた。自分のはDMD1.026です。
ちなみにぐぐってみると
www.digitalmars.com/d/archives/digitalmars/D/What_happened_to_argptr_47894.html
なんてのがあった。
2007/2 ...もう一年前だな(遠い目

140 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:15:32 ]
>>132
まだ candidate だけど phobos にもこんなのがきているわけだが。
dsource.org/projects/phobos/browser/candidate/phobos/std/xml.d

141 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:38:04 ]
1年でそんなに変わるもんじゃないですね

142 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:06:32 ]
ここで聞くか、win32apiのところで聞くか迷ったけどここで。

ウインドウを左クリックしたら、メニューを出すプロシージャを書いたんだけど
ちゃんと”終了”というメニューが出てこない。(何か短いメニューのようなものが出る)
どこが悪いんでしょう。
wndは項目がクリックされたらメッセージを送るウインドウのハンドルです。

case WM_LBUTTONDOWN:
    POINT nowPoint;
    GetCursorPos(&nowPoint);
    SetForegroundWindow(wnd);
    hMenu = CreateMenu();
    AppendMenu(hMenu, MF_ENABLED | MF_STRING, 1, cast(wchar[])("終了"));
    
    TrackPopupMenuEx(
        hMenu,
        TPM_RIGHTALIGN | TPM_BOTTOMALIGN,
        nowPoint.x,
        nowPoint.y,
        wnd,
        null
    );
    
    break;


143 名前:デフォルトの名無しさん [2008/02/19(火) 01:19:20 ]
cast(wchar[])じゃなくてcast(wchar*)とか?


144 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:07:31 ]
>142
CreateMenu() じゃなくて CreatePopupMenu() じゃないでしょうか。



145 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 04:31:46 ]
>>142
cast(wchar[])でも問題無いが、cast(wchar*)を使うべき。
cast(wchar[])"終了"と書くと文字列が配列として作られるから、長さ情報とかも生成される。
cast(wchar*)"終了"と書くと文字列へのポインタとして作られるだけで、配列の情報は生成されない。


146 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 05:37:00 ]
"終了\0"w.ptrが一番カッコいい気がするのは俺だけ?

147 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 05:40:10 ]
いや、お前だけじゃないw
でも毎回そう書くのは面倒だけどな。

148 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 07:00:55 ]
>>140
Phobosいろいろ修正されてるんだな

149 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 07:23:39 ]
>>144
それでした。
ありがとうございます。

>>143 >>145
わかりました。windowsapiに渡すときはそうすることにします。

150 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:25:39 ]
>>146
ゴルフ的な理由で俺はこう書いてる。
&*"終了"w

151 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:57:30 ]
関連質問かもしれないんですけど、
cast(wchar*)"ほげ"
って末尾にナル文字は含まれてるんですか?

152 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 12:45:45 ]
そういうケースの場合自動的にNULL終端になったと思います。

153 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:24:01 ]
D言語用のまともなDirectInputのポーティングってないんでしょうか?
調べても古いのしか出てこなくて。

154 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:19:27 ]
>>151-152
文字列リテラルはゼロ終端が保証されてる。



155 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:45:13 ]
real x = real.nan;
assert( x == real.nan );
なぜこれが通らないんだ… @ DMD 1.026

156 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:01:02 ]
nanとの比較は常に成り立たないんじゃなかったかな。
std.math.isnanを使うべし。

157 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:04:41 ]
>>156 サンクス!
なんかわかりにくいなぁ…

158 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:11:05 ]
ttp://www.kmonos.net/alang/d/1.0/expression.html
>どちらか一方でも NaN であれば、 == はfalse、!=はtrueになります。

とあるような

159 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:12:48 ]
>>155
assert( x !<>= real.nan );

ttp://www.kmonos.net/alang/d/1.0/expression.html

isnanのほうがきれいだな

160 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 19:00:09 ]
ja.wikipedia.org/wiki/NaN
浮動小数自体の仕様だよ

161 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 19:58:58 ]
> 1は何乗しても1だが、NaN乗しても1と言えるのか

(;´Д`)

162 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:03:39 ]
>>161
誰がうまいこと(ry

163 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:08:50 ]
>>151
www.kmonos.net/alang/d/2.0/interfaceToC.html
printf() の呼び出し

164 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:33:12 ]
>>162
wikipediaの中にあんな一文があると
どうしても声出して笑っちまうよな。
ちくしょう。油断してた。



165 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:41:51 ]
0を何乗しても0だが、何を0乗しても1
では0を0乗したら0か、それとも1か?
という話と同じ匂いがするな

166 名前:デフォルトの名無しさん [2008/02/19(火) 20:45:17 ]
【技術】マイクロソフト、新開発言語「D」を開発中[08/02/07]
news24.2ch.net/test/read.cgi/bizplus/1202379742/

167 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:48:40 ]
Java潰しにやっきになってたときと同じ匂いがするの

168 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:49:44 ]
>>165
3! = 6
2! = 2
1! = 1
0! = 1 ?



169 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:58:41 ]
>>168
0! = 1 はいちおう数学的に証明できますから

170 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:00:29 ]
証明というか定義の問題のような

171 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:03:23 ]
0^0

0/0

どちらも未定義なの?


172 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:11:05 ]
lim[x→+0] 0^x = 0
lim[x→0] x^0 = 1
lim[x→0] x^x = 1

あるえー?

173 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:19:39 ]
 lim[x→-0] 0^x = ?

174 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:25:09 ]
 lim[x→0] x^x って 0 じゃね?



175 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:29:53 ]
0.00001^0.00001=0.9998848773724686...

176 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:37:37 ]
数学板でも0^0が1か0かの論争よくやってるね。

177 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:52:36 ]
テンソルの次は0^0かよ・・・w

178 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:08:18 ]
>>132,140
なんかこういうの出てくると、いよいよ作りかけの俺製XMLライブラリを世に出しがたい雰囲気になってきた。

179 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:15:25 ]
n=0のとき
 lim[x→0] n^x = ?
n<0のとき
 lim[x→0] n^x = ?


180 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:16:43 ]
>>131
バグじゃなくて仕様でしょ。
_argptr は _arguments から計算されるけど、extern(C) だと _arguments が渡されない。
つまり _argptr が使えない。

181 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:25:22 ]
>>180
www.kmonos.net/alang/d/2.0/function.html
 > Cスタイル可変個引数関数
      (中略)
 > Cスタイル可変個引数関数は、Cの可変個引数関数の呼び出し規約と一致していて、
 > printf のような Cのライブラリ関数を呼び出すのに利用できます。
 > 可変個引数関数の中では、 特別なローカル変数 _argptr が使えます。

182 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:27:18 ]
>>180
仕様書に_argptrが使えるって書いてあるから、
「バグじゃねえの」って話になってるんでしょ。

まあ、普通にstd.c.stdarg使うえばいいんだろうけどね。

183 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:31:53 ]
>>182
tangoだとstdargがまだ未実装みたいだった。

Phobosも使い方が良く分からない。
Cでも可変個引数は使ったことなかったから知らないんだけど、とりあえずCの解説サイトに載ってるように書いても使えなかった。

184 名前:183 mailto:sage [2008/02/19(火) 22:38:02 ]
すまん、
>tangoだとstdargがまだ未実装みたいだった。
の行は無視してくれ。多分全然関係ないところで勘違いしてる。



185 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:39:19 ]
クロスプラットフォームなGUIを使いたいんだけど、wxDがいいのかな?
でももう更新されてないみたいだし、D->wxD->wxC->wxWidgetって中継が多いけど、実行速度は大丈夫なのかとか気にしてるんだが。


186 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 04:34:12 ]
% ウォルター曰く
A whole lotta library improvements.

www.digitalmars.com/d/1.0/changelog.html
ftp.digitalmars.com/dmd.1.027.zip

www.digitalmars.com/d/2.0/changelog.html
ftp.digitalmars.com/dmd.2.011.zip

I had planned on doing struct destructors for this update, but they are not done yet.


187 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 04:38:05 ]
Version D 2.011 Feb 18, 2008

New/Changed Features

* std.typecons: fixed code bloat issue; added Tuple.toString; added function tuple(); fixed unlisted bug in enumValuesImpl.
* std.process: added function shell().
* std.math: minor change in approxEqual.
* std.contracts: added functions pointsTo()
* std.numeric: minor unittest fixes.
* std.bitmanip: fixed code bloat issue, reintroduced FloatRep and DoubleRep.
* std.conv: minor simplification of implementation.
* std.regexp: added reference to ECMA standard in the documentation.
* std.getopt: changed return type from bool to void, error is signaled by use of exceptions.
* std.functional: added unaryFun, binaryFun, adjoin.
* std.string: updated documentation, changed code to compile with warnings enabled.
* std.traits: changed FieldTypeTuple; added RepresentationType Tuple, hasAliasing; fixed bug 1826; added call to flush() from within write; fixed unlisted bug in lines().
* std.algorithm: added map, reduce, filter, inPlace, move, swap, overwriteAdjacent, find, findRange, findBoyerMoore, findAdjacent, findAmong, findAmongSorted, canFind,
  canFindAmong, canFindAmongSorted, count, equal, overlap, min, max, mismatch, EditOp, none, substitute, insert, remove, levenshteinDistance,
  levenshteinDistanceAndPath, copy, copyIf, iterSwap, swapRanges, reverse, rotate, SwapStrategy, Unstable, Semistable, Stable, eliminate, partition,
  nthElement, sort, schwartzSort, partialSort, isSorted, makeIndex, schwartzMakeIndex, lowerBound, upperBound, equalRange, canFindSorted.
* std.thread: fixed so it compiles with warnings enabled.
* std.file: made getSize() faster under Linux.
* std.random: fixed so it compiles with warnings enabled; improved function uniform so it deduces type generated from its arguments.
* std.format: added fixes to make formatting work with const data.
* std.path: minor documentation changes.

188 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 04:38:55 ]
# Added std.xml
# Added std.complex
# Added std.iterator
# Added std.c.linux.tipc
# Added std.c.linux.termios
# Added nothrow keyword
# Re-enabled auto interfaces.
# Now allow static arrays to be lvalues.
# Now allows implicit casting of null to/from const/invariant.
# Now allows implicit casting of StructLiterals if each of its arguments can be implicitly cast.
# Now allows implicit casting of structs to/from const/invariant if each of its fields can be.
# Added pragma startaddress.
# .tupleof can now access private fields of a struct/class

189 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 04:39:47 ]
Bugs Fixed

* Fixed D/66406 Remaining const niggles #1 - Custom POD types
* Fixed display of ddoc template parameters that were aliased
* Fixed bug in std.file.readln() for Windows in translated mode
* Bugzilla 1072: CTFE: crash on for loop with blank increment
* Bugzilla 1435: DDoc: Don't apply DDOC_PSYMBOL everywhere
* Bugzilla 1815: foreach with interval does not increment pointers correctly
* Bugzilla 1825: local instantiation and function nesting
* Bugzilla 1837: Make dmd stop flooding the console: prints content of passed parameter file
* Bugzilla 1842: Useless linker command line output during compilation on Linux

190 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 04:45:44 ]
Version D 1.027 Feb 18, 2008

New/Changed Features

* Re-enabled auto interfaces.

Bugs Fixed

* Fixed display of ddoc template parameters that were aliased
* Bugzilla 1072: CTFE: crash on for loop with blank increment
* Bugzilla 1435: DDoc: Don't apply DDOC_PSYMBOL everywhere
* Bugzilla 1815: foreach with interval does not increment pointers correctly
* Bugzilla 1825: local instantiation and function nesting
* Bugzilla 1837: Make dmd stop flooding the console: prints content of passed parameter file
* Bugzilla 1842: Useless linker command line output during compilation on Linux

191 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 05:29:34 ]
作者はりきってるな

192 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 06:24:51 ]
ちょ、すごい量だなw

193 名前:デフォルトの名無しさん [2008/02/20(水) 06:28:32 ]
MSがD言語作り始めたから対抗してるんだな

194 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 07:58:43 ]
ライブラリ強化期間?
tangoの立ち位置がよくわからなくなってき……



195 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 08:19:29 ]
assert( x == x );こうすればisnanできるんじゃね?

196 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 08:58:39 ]
同時に使用できないなんてことはさっさとやめて
TangoはC++に対するboostのような道を模索した方がいいと思う

197 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 08:59:11 ]
D言語ってC言語出来るんならすぐ使えるの?

198 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 09:26:22 ]
文法はちょっと違うけど、Cの標準関数もそのまま使えるから簡単。

199 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 10:51:44 ]
ver1で本家dmd、phobosを使っています。
"windows.h for D"を使いたいのですがエラーが出てワケワカランです。

パスの通ってるとこにライブラリなどを配置して
private import win32.ansi.windows;
こんな感じでインポートして
>dmd hoge.d win32a.lib
こんな感じでコンパイルすると
(ry)\winbase.d(50): Error: identifier 'HANDLE' is not defined
(ry)\winbase.d(50): Error: HANDLE is used as a type
(ry)\winbase.d(50): variable win32.winbase.INVALID_HANDLE_VALUE voids have no value
(ry)\winbase.d(62): Error: identifier 'STATUS_WAIT_0' is not defined
こんなのがずらずらと出ます。
なにかが足りないのでしょうか?

PlatformSDKをDに対応するように変換してどうのこうのという作業をしていないのですが、
それが原因でしょうか?win32a.libでは足りない?まさかHANDLEを定義しろと?

200 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:11:21 ]
こっち使うべし
www.dsource.org/projects/bindings/wiki/WindowsApi
www.kmonos.net/alang/wnd/topics/winapi.ja.html
4年前のソースなど絶対コンパイル通らんよ。。。

201 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:44:42 ]
あと>>200の使っても今はコンパイラがエラー吐いて止まるはず
過去ログに話出ていて原因は定義順だったと思う
ちなみに解決済みのバージョンがどこかで公開された様子はない

202 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:56:09 ]
>>185
クロスプラットフォームのGUIライブラリって今あるのかねえ
今はDFLをGTKベースに書き直しているはずだからそのうちこれが使えるかもしれないけど
速度は実測しかない

203 名前:199 mailto:sage [2008/02/20(水) 12:10:02 ]
>>200
入れたらすんなり通りました。
ありがとうございます(・∀・)

>>201
いまんとこエラー吐いてないです。
と言ってもショボイAPIしか呼んでませんけど・・・

204 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:51:04 ]
>>201
trunkでは直ってると思った



205 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:53:17 ]
>>202
dwtの新しいのってどうなんだろ。Tango前提なので試せてないんだけど

206 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 14:35:37 ]
今回のバージョンに>>30-36が反映されてないね。

207 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:25:18 ]
>>194
強化期間というより、dsourceで検証まで終わった新コードをまとめて承認したという感じじゃないのかな

しかしxml読みにこのスレでの頂き物を活用してた俺涙目
でも骨子は同じだからstd.xmlに切り替えてみる
omegaの方ありがとうございました

208 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:37:31 ]
3/1のBoF、時間が前に延びて10:15開始になってるね。


209 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:08:53 ]
ws2_32.libの中にはWSAAsyncSelectがちゃんとあるんだけど、
WSAAsyncSelectを使おうとすると未定義のシンボルって言うリンクエラーがでる。
何ででしょう。

210 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:15:39 ]
std.xmlて入力がInputStreamじゃなくてstringなんだな。
でっかいXMLファイルもとにかく一度全部読み込む必要があるのか……

211 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:18:44 ]
>>209
リンケージが違うとか。

212 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:53:43 ]
>>210
それはきちぃ・・
けど、使いどころはあるけどね

213 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:04:10 ]
>>210
配列のように扱えるStreamがあればちょっと改造して使えるんじゃない?

214 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:51:17 ]
BoFで
「Walterだけど何か質問ある?」
というネタをやるとしたら何か質問ある?




215 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:58:10 ]
const 関連の仕様に迷いはありませんか?

216 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:15:58 ]
標準ライブラリを tango に頑張ってもらう気は?






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

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

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