D言語 Part31
レス数が1000を超えています。これ以上書き込みはできません。
0001Win64をやりたい場合はMSVCwo
2013/01/21(月) 12:39:54.40■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
http://d.puremagic.com/issues/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ
■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://prowiki.org/wiki4d/ - Wiki4D(公認Wiki)
■前スレ
D言語 Part30
http://toro.2ch.net/test/read.cgi/tech/1343660743/
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
0002Win64ビルドをやりたい場合はMSVCをインストールしておくこと
2013/01/21(月) 12:41:38.26http://www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン)
http://code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン)
http://mono-d.alexanderbothe.com/ - Mono-D (MonoDevelop プラグイン)
■ライブラリ
http://www.dsource.org/projects/dwt - DWT(GUIライブラリ)
http://www.dsource.org/projects/gtkd - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
http://www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)
■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
0003デフォルトの名無しさん
2013/01/21(月) 15:17:29.09Qt とか Python とか知ってしまうと
D いらないんだよね
0004デフォルトの名無しさん
2013/01/21(月) 16:59:54.30403
0005デフォルトの名無しさん
2013/01/21(月) 17:18:13.62が、そろそろ一ヶ月たつから見込みは低い
避難所がほしいな
0006デフォルトの名無しさん
2013/01/21(月) 17:34:27.03wonders\gdiplus.d(1147): Warning: min property is deprecated, use min_normal instead
wonders\gdiplus.d(6005): Error: class wonders.gdiplus.CachedBitmap identity assignment operator overload is illegal
0007デフォルトの名無しさん
2013/01/21(月) 18:46:05.48もうバグ報告されてるかもしれないけど
英語書けないので誰かよろしく…
0008デフォルトの名無しさん
2013/01/21(月) 20:12:47.72WPARAMとかLPARAMとかLRESULTがuintとかint決め打ちなのが原因みたい
0009デフォルトの名無しさん
2013/01/21(月) 21:29:01.160010デフォルトの名無しさん
2013/01/21(月) 21:56:12.97あれ?
0011デフォルトの名無しさん
2013/01/21(月) 22:09:45.22次にDWORDみたいなのをcintを使って定義するために条件分岐が必要で…
0012デフォルトの名無しさん
2013/01/21(月) 22:10:58.370013デフォルトの名無しさん
2013/01/21(月) 22:27:45.070014デフォルトの名無しさん
2013/01/21(月) 22:34:29.650015デフォルトの名無しさん
2013/01/21(月) 23:36:13.58Windows用のGUIアプリケーション作るときに視野に入ってくるんだけどな
手が届きそうなのに届かないw
0016デフォルトの名無しさん
2013/01/23(水) 12:43:45.25opAssignでいけるかと思ったらそんなことなかった
0017デフォルトの名無しさん
2013/01/23(水) 13:19:45.67alias this以外にもメンバあったら死ぬじゃん
0018デフォルトの名無しさん
2013/01/23(水) 17:09:08.130019デフォルトの名無しさん
2013/01/23(水) 20:23:01.640020デフォルトの名無しさん
2013/01/23(水) 20:38:05.86ロシア大使館に言えよ
0021デフォルトの名無しさん
2013/01/24(木) 12:06:21.22ソース貼付サイト(2.061)http://dpaste.dzfl.pl/
年末につながらなくなっていたが両方とも復活した
0022デフォルトの名無しさん
2013/01/25(金) 03:28:31.950023デフォルトの名無しさん
2013/01/26(土) 17:30:10.970024デフォルトの名無しさん
2013/01/26(土) 17:31:29.190025デフォルトの名無しさん
2013/01/26(土) 17:38:17.430026デフォルトの名無しさん
2013/01/26(土) 19:44:56.200027デフォルトの名無しさん
2013/01/26(土) 20:27:51.330028デフォルトの名無しさん
2013/01/26(土) 20:34:12.14でもあれ手続き型言語でやるとバグの温床だからな
0029デフォルトの名無しさん
2013/01/26(土) 20:37:26.34そろそろ寝るか
0030デフォルトの名無しさん
2013/01/26(土) 20:40:59.94関数の頭に fn みたいなキーワードを必須にするのなら
賛成してやってもいい
0031デフォルトの名無しさん
2013/01/26(土) 21:00:12.740032デフォルトの名無しさん
2013/01/26(土) 21:07:14.300033デフォルトの名無しさん
2013/01/26(土) 21:16:25.750034デフォルトの名無しさん
2013/01/26(土) 21:20:10.90詳しく知りたい
なんかまずいの?
0035デフォルトの名無しさん
2013/01/26(土) 21:26:13.10別の値が返ってとりあえず動いてしまうとか
0036デフォルトの名無しさん
2013/01/26(土) 21:40:11.17特に関数定義の頭で戻り値の型を明示しなくて良い場合(動的型や型推論付き)は
さらにややこしくなる、まあ組めなくはないけどね
0037デフォルトの名無しさん
2013/01/26(土) 22:58:43.290038デフォルトの名無しさん
2013/01/26(土) 23:00:33.57そう簡単に仕様変更するわけがないだろ!!
0039デフォルトの名無しさん
2013/01/26(土) 23:02:33.160040デフォルトの名無しさん
2013/01/26(土) 23:15:46.04それでも型チェックがうるさいと判断するのかね?
0041デフォルトの名無しさん
2013/01/26(土) 23:19:56.110042デフォルトの名無しさん
2013/01/26(土) 23:22:29.97必ず戻り値を何か書かないといけないわけで
0043デフォルトの名無しさん
2013/01/26(土) 23:30:01.830044デフォルトの名無しさん
2013/01/26(土) 23:40:12.590045デフォルトの名無しさん
2013/01/26(土) 23:40:14.40enum f = (int n) => n+1; // lambda
戻り値型の省略なんてしなくていいからreturn省略したい
enum f = int(int n){ n+1; };
これでいいじゃない・・
0046デフォルトの名無しさん
2013/01/27(日) 00:11:52.28最後の文にセミコロンが無い時に限りreturnの代わりになる、でどうだ
enum f = int(int n){ n+1 };
0047デフォルトの名無しさん
2013/01/27(日) 01:24:29.69これあると便利な事ってどういう分野なんだ
0048デフォルトの名無しさん
2013/01/27(日) 01:50:29.88むしろ使わない方がおかしい
0049デフォルトの名無しさん
2013/01/27(日) 02:07:51.61具体例がほしい
0050デフォルトの名無しさん
2013/01/27(日) 02:47:44.460051デフォルトの名無しさん
2013/01/27(日) 04:46:41.370052デフォルトの名無しさん
2013/01/27(日) 07:14:51.870053デフォルトの名無しさん
2013/01/27(日) 07:54:38.16これは実際に使う場面に行き当たらないと実感するの無理かも
0054デフォルトの名無しさん
2013/01/27(日) 07:56:45.25推論可能な場面でいちいちautoでもvarでもなく
型名を書かなきゃいけないJavaとかに絶望するのといっしょの感覚かも
0055デフォルトの名無しさん
2013/01/27(日) 09:24:01.610056デフォルトの名無しさん
2013/01/27(日) 09:31:30.610057デフォルトの名無しさん
2013/01/27(日) 11:49:13.97その主観が交わる可能性があった以上、コピペでまとめちゃうのはいくないっすよ
0058デフォルトの名無しさん
2013/01/27(日) 12:00:05.550059デフォルトの名無しさん
2013/01/27(日) 12:01:17.460060デフォルトの名無しさん
2013/01/27(日) 12:48:16.97ブレース消えるのいいよね
0061デフォルトの名無しさん
2013/01/27(日) 13:17:04.960062デフォルトの名無しさん
2013/01/27(日) 13:26:12.22hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 == ps;} });
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 != ps;} });
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 < ps;} });
// delegateが使える場合
hoge((Parameter p1, Parameter p2) {return p1 == ps;});
hoge((Parameter p1, Parameter p2) {return p1 != ps;});
hoge((Parameter p1, Parameter p2) {return p1 < ps;});
// ラムダ式が使える場合
hoge((p1, p2) => p1 == ps);
hoge((p1, p2) => p1 != ps);
hoge((p1, p2) => p1 < ps);
>>55
俺は大差があると思う
0063デフォルトの名無しさん
2013/01/27(日) 13:57:07.480064デフォルトの名無しさん
2013/01/27(日) 13:59:44.79今までdeprecated で生き延びていた機能の多くが
2.061で抹殺されていることに気づいた
0065デフォルトの名無しさん
2013/01/27(日) 14:27:09.51別にあって都合が悪いこともないから消せ!とは言わんけどw
0066デフォルトの名無しさん
2013/01/27(日) 14:50:42.78autoが消滅して型名を書けと言われたりscope(exit)が消滅してtry-finallyを書けと言われたりしたら俺はDを投げる
0067デフォルトの名無しさん
2013/01/27(日) 14:53:25.860068デフォルトの名無しさん
2013/01/27(日) 14:57:55.37ダークフレイムマスター
0069デフォルトの名無しさん
2013/01/27(日) 19:38:44.300070デフォルトの名無しさん
2013/01/27(日) 19:59:21.590071デフォルトの名無しさん
2013/01/27(日) 20:00:11.780072デフォルトの名無しさん
2013/01/27(日) 20:06:07.70ライブラリ定義はstructに詰めた状態だからスタック渡しになってしまわね?
0073デフォルトの名無しさん
2013/01/27(日) 22:52:36.94あるいは何らかの最適化に通るのでもいいわけで
ABI互換性は困りそうだが
0074デフォルトの名無しさん
2013/01/28(月) 06:15:55.98int[100] a, b;
a[] += b[];
で勝手にSIMD演算とかいうのやってくれるんですか?
0075デフォルトの名無しさん
2013/01/28(月) 07:13:31.71http://www.kmonos.net/alang/d/simd.html
頑張ってくれる可能性はあるけどわりと限界もある、みたいな感じ
0076デフォルトの名無しさん
2013/01/28(月) 11:06:58.13環境を特定するなら素直に core.simdで定義されている配列もどきを使うべし
0077デフォルトの名無しさん
2013/01/28(月) 14:26:03.01多分害悪の元なんだろうけど
class hoge
{
this()
{
int a = 0 as public;
}
}
見たいにしたらhoge.aが使えるみたいなね!
thisが一個のとき限定でいいからさぁ・・・
0078デフォルトの名無しさん
2013/01/28(月) 19:16:36.49どんな意図の機能?
頑張れば既存の機能でやりたいことが解決できるかも
0079デフォルトの名無しさん
2013/01/28(月) 19:44:42.31ただコンストラクタで書くならメンバでいいだろという気がするが
0080デフォルトの名無しさん
2013/01/28(月) 19:52:33.02あとそのシンボルが変数なのかモジュールなのかクラスなのか構造体なのか判別するのもついでに欲しい
0081デフォルトの名無しさん
2013/01/28(月) 19:59:59.78mixin無ぇーし
0082デフォルトの名無しさん
2013/01/28(月) 20:02:09.250083デフォルトの名無しさん
2013/01/28(月) 20:17:53.730084デフォルトの名無しさん
2013/01/28(月) 21:31:09.490085デフォルトの名無しさん
2013/01/28(月) 23:29:27.580086デフォルトの名無しさん
2013/01/28(月) 23:48:53.99プロジェクト機能あるしD対応してるし
0087デフォルトの名無しさん
2013/01/29(火) 04:08:55.240088デフォルトの名無しさん
2013/01/29(火) 12:34:31.130089デフォルトの名無しさん
2013/01/29(火) 19:19:11.010090デフォルトの名無しさん
2013/01/29(火) 19:25:51.70Integrated Development Environment
エンビロンメント?
0091片山博文MZパンク ◆0lBZNi.Q7evd
2013/01/29(火) 23:58:06.70エンヴァイロンメント。
電子辞書を買いましょうね。
0092デフォルトの名無しさん
2013/01/30(水) 00:21:20.930093デフォルトの名無しさん
2013/01/30(水) 00:21:34.890094デフォルトの名無しさん
2013/01/30(水) 00:34:25.280095デフォルトの名無しさん
2013/01/30(水) 01:31:06.210096デフォルトの名無しさん
2013/01/30(水) 04:13:06.100097デフォルトの名無しさん
2013/01/30(水) 04:32:45.970098デフォルトの名無しさん
2013/01/30(水) 12:23:27.28モーリメメント
ヤックデカルチュアメント
0099デフォルトの名無しさん
2013/01/30(水) 19:39:48.11import std.stdio;
void main() {
// ポインタの配列
int i = 42;
int*[1] src = [&i];
// スライスの代入
int*[1] dest = src[];
// srcとdestの内容が違う! (2.061以降)
writeln(src, " == ", dest);
}
これが2.061の破壊的変更だったら欣喜雀躍するんだが…
0100デフォルトの名無しさん
2013/01/30(水) 20:08:25.15githubの最新では直っているっぽい
0101デフォルトの名無しさん
2013/01/30(水) 20:17:56.79おおっと、さすがにこういうのはすぐ発見されるんですね
Thx
0102デフォルトの名無しさん
2013/01/31(木) 01:43:11.46ってどうすりゃいいの?
0103デフォルトの名無しさん
2013/01/31(木) 01:46:40.110104デフォルトの名無しさん
2013/01/31(木) 14:35:15.40f((i) { ... });
で推論できるなら
class C { this(int i){} }
C obj;
obj = new(10);
とかもできそうだよね
0105デフォルトの名無しさん
2013/01/31(木) 18:53:52.42それでもやっぱりきもい
0106デフォルトの名無しさん
2013/01/31(木) 21:20:11.34⇒pure nothrow @safe Exception object.Exception.__ctor(immutable(char)[], immutable(char)[], uint, object.Throwable)
なんですかこれ・・・
あるし
class Exception : Throwable
{
@safe pure nothrow this(string msg, string file = __FILE__, size_t line = __LINE__, Throwable next = null)
{
super(msg, file, line, next);
}
@safe pure nothrow this(string msg, Throwable next, string file = __FILE__, size_t line = __LINE__)
{
super(msg, file, line, next);
}
}
0107デフォルトの名無しさん
2013/01/31(木) 21:44:53.91そういうエラーを見た気がする
0108デフォルトの名無しさん
2013/01/31(木) 22:01:57.58VisualD使ってるんだけどそれ見てもしかしてと思ってエラーログ確認したら
使用するDMDが2.060のDMD環境指してた・・・
VisualStudioShell起動中に2.060と2.061をディレクトリリネームで切り替えた覚えがあるけど
勝手に設定まで追従しやがったのか・・・
0109デフォルトの名無しさん
2013/02/01(金) 12:39:50.730110デフォルトの名無しさん
2013/02/01(金) 13:03:51.57ぜんぜんちがうよ
0111デフォルトの名無しさん
2013/02/01(金) 14:07:22.40公式のobjectのドキュメントに載ってなかったから無くなったのかと
0112デフォルトの名無しさん
2013/02/02(土) 09:11:57.850113デフォルトの名無しさん
2013/02/02(土) 09:27:53.050114デフォルトの名無しさん
2013/02/02(土) 11:58:43.31Pythonみたいにしたらえらいことになりそうだけど
0115デフォルトの名無しさん
2013/02/02(土) 19:04:01.410116デフォルトの名無しさん
2013/02/02(土) 21:09:34.980117デフォルトの名無しさん
2013/02/02(土) 21:19:05.80(>a, b<)
(*a, b*)
(a, b)
(!a, b!)
{|a, b|}
0118デフォルトの名無しさん
2013/02/02(土) 21:44:37.480119デフォルトの名無しさん
2013/02/02(土) 21:46:42.75(a, b)みたいに書きたいからコンマ演算子廃止しようぜ、
という話がMLに出てたな。
0120デフォルトの名無しさん
2013/02/02(土) 21:58:14.180121デフォルトの名無しさん
2013/02/02(土) 21:59:28.920122デフォルトの名無しさん
2013/02/02(土) 22:01:33.270123デフォルトの名無しさん
2013/02/02(土) 22:05:53.340124デフォルトの名無しさん
2013/02/02(土) 22:10:38.72みたいな
0125デフォルトの名無しさん
2013/02/02(土) 22:10:59.88++i, ++jの値がjではなく(i, j)のタプルになっても影響ないな
0126デフォルトの名無しさん
2013/02/02(土) 22:23:24.90他にも
while ((x = foo()) == y) { } を
while (x = foo(), x == y) { } と書く事もなくもない
0127デフォルトの名無しさん
2013/02/02(土) 22:26:35.51まあ影響ないな
0128デフォルトの名無しさん
2013/02/02(土) 22:57:20.76いまのDでこれが気になる、とかある?
0129デフォルトの名無しさん
2013/02/02(土) 23:11:33.70void foo()(){...}ならできるけど
0130デフォルトの名無しさん
2013/02/02(土) 23:18:34.88あー、Jonathanが欲しいといってたやつか。std.rangeとかでいろいろ苦労しているから
実験パッチは作って試してみる予定。ただ、Fwdref問題がいっぱい出てくるかもしれないから
対応するかは半々だなあ。
0131デフォルトの名無しさん
2013/02/02(土) 23:20:11.83void foo()() { ... } は
template foo() { void foo() { ... } }
の構文糖なので推論が効く、という仕組みになっている。
0132デフォルトの名無しさん
2013/02/02(土) 23:22:47.25~で連結したいしmapとかで回したい
0133デフォルトの名無しさん
2013/02/02(土) 23:30:05.36~での連結はコンパイラ対応の範疇だな。
2つの結合したい連想配列に重複するキーがあるときどういう動作をすべきか、
という所が決まらないと駄目だと思う。
mapでまわすのはPhobosの範疇。しばらく前にそれっぽい話題がMLで出てた気が
するけど、特に話は進まずに終わったと思う…
そういう挙動を実現すること自体に問題はなさそうなので、enhanceをbugzillaに
投稿したら興味ある人が対応してくれるんじゃないかな。
0134デフォルトの名無しさん
2013/02/02(土) 23:38:09.82他の人のPullReqをレビューするぐらいが精一杯です。
0135デフォルトの名無しさん
2013/02/03(日) 00:07:51.370136デフォルトの名無しさん
2013/02/03(日) 00:23:47.64まだセマンティクスがはっきりしていない。現在テンプレート関数で使える
auto refは、厳密には右辺値参照とは違うものなので、これをそのまま
非テンプレート関数にもってくることは出来ない(構文的にも意味論的にも)
Andreiが http://d.puremagic.com/issues/show_bug.cgi?id=9238 で
Dにおける右辺値をrefで束縛した場合の挙動についてある程度書いてくれている。
興味深いのは、DはC++と違って参照型の変数が存在せず、関数の仮引数と戻り値
にのみrefが出現するため、右辺値を関数引数のrefで束縛しても「本質的には」
問題ない、という所かな。
とはいえ、実際には@systemな関数の内部で、ref引数からアドレスを取って
グローバル変数に束縛するなどのエスケープ問題が絡んでくるので、セマンティクスを
もっと詰めないと実装できない、というのが俺個人の現状認識。
結論:近いうちに状況が動く可能性は低い
0137デフォルトの名無しさん
2013/02/03(日) 00:30:46.53面白そうな質問あったらそれなりに答えるつもりです。では。
0138デフォルトの名無しさん
2013/02/03(日) 00:49:20.050139デフォルトの名無しさん
2013/02/03(日) 01:47:49.820140デフォルトの名無しさん
2013/02/03(日) 01:59:45.450141デフォルトの名無しさん
2013/02/03(日) 02:15:36.290142デフォルトの名無しさん
2013/02/03(日) 02:23:16.25object.destroyのaliasでclearがあるけどこれ呼ばれてるんじゃね?
>>141
dup使えたぞ
ドキュメント無さそうだがww
0143デフォルトの名無しさん
2013/02/03(日) 02:39:50.10替わりにこうしてた・・・
typeof(h) tmp;
tmp.swap(h);
で、h.dup.swap(h);がコンパイル通らなくて泣いてた
0144デフォルトの名無しさん
2013/02/03(日) 02:41:09.830145デフォルトの名無しさん
2013/02/03(日) 11:40:10.23い、一体いつから…
ヒャアやっぱDはたまんねぇな!
0146デフォルトの名無しさん
2013/02/03(日) 11:49:37.17何かと勘違いしたわ
0147デフォルトの名無しさん
2013/02/03(日) 16:28:43.010148デフォルトの名無しさん
2013/02/03(日) 16:38:16.81boost licで頼む
0149デフォルトの名無しさん
2013/02/03(日) 16:40:58.13まともに保守されてるだけでもぶっちぎりに優れたライブラリになれる
0150デフォルトの名無しさん
2013/02/03(日) 18:32:28.27唯一まともに保守されているから
公式のライブラリとして存在できていると考えるんだ
0151デフォルトの名無しさん
2013/02/05(火) 13:23:14.36無茶しやがって
0152デフォルトの名無しさん
2013/02/05(火) 13:36:21.900153デフォルトの名無しさん
2013/02/05(火) 23:48:43.40公式のどこかで見た記憶があるんだけど下の例でクラスのAをtemplate名称なしで
使えちゃうのは合法?
template A(T){
class A{}
T s; ←A.Aとしてclassを参照するために邪魔になると思われるもの
}
※
auto x = new A!(int).A();
ではなく
auto x = new A!(int)();
として使用できてしまう。
0154前々スレ(Part29)より
2013/02/05(火) 23:57:39.76>>140-141
メンバ一つに限るっていう条件は 2.058 で外れたとかどこかで見たような
Eponymous Template っていうらしい
0155デフォルトの名無しさん
2013/02/06(水) 00:06:06.75ありがとん
0156デフォルトの名無しさん
2013/02/08(金) 01:45:26.22struct S(T){
T t;
alias t this;
}
T型が同じファイルに定義されている場合はコンパイル通るけど
別ファイルの場合Tのメンバを呼ぶコードがundefined identifierとなりました
0157デフォルトの名無しさん
2013/02/08(金) 02:22:51.530158デフォルトの名無しさん
2013/02/08(金) 10:53:08.11通ると思うけど…
リンク漏れの Symbol Undefined じゃなくて?
0159デフォルトの名無しさん
2013/02/08(金) 18:30:45.33ソース無いからどうしようもないけど
静的呼び出ししたらどうなるよ?
0160デフォルトの名無しさん
2013/02/08(金) 19:34:02.45今やってみました。静的リンクだと問題なく呼び出せました。
目的は実行時に激しくDLLのロード/アンロードをすることなのでLoadLibrary/FreeLibraryが必要だと思ってます。
DLL側、使用側のソースです→http://dpaste.dzfl.pl/b47c098b
試しにDMDで作ったものでない(たとえば、SDLの)DLLを読み込ませてみましたが、そっちでは問題なくLoad/Freeできました
なんかDLLの作り方間違えてるのかな・・
0161デフォルトの名無しさん
2013/02/08(金) 21:44:06.14横レス
なぜか最後のwriteln の中で死んでるっぽい
# デバッガが使えればみんな悲しまずに済むのに・・・!
試しにメッセージボックスに変えてみたらイケた
import core.sys.windows.windows;
MessageBoxA(null, "4 end".ptr, "message".ptr, 0);
0162デフォルトの名無しさん
2013/02/08(金) 22:15:23.76なんかGC関係の追加処理してそうだけど
0163デフォルトの名無しさん
2013/02/08(金) 22:22:33.150164デフォルトの名無しさん
2013/02/08(金) 22:31:37.13>>160はDLL内の関数を呼んではいないぞ
0165デフォルトの名無しさん
2013/02/08(金) 22:40:40.32落ちる場所のアセンブリよく読め
スタック巻き戻してretするとこで落ちてる
DLL内の関数の呼び出し規約とは言ってない
0166160
2013/02/08(金) 23:27:18.56alias extern(D) void* function(in char*) LoadLibrary_t;
alias extern(D) uint function(void*) FreeLibrary_t;
void main() {
writeln("1 load");
auto p = (cast(LoadLibrary_t)&LoadLibraryA)("plugin.dll");
writeln("2 ", (p is null) ? "error" : "ok");
writeln("3 free");
(cast(FreeLibrary_t)&FreeLibrary)(p);
writeln("4 end");
}
なんかこんな利用側コードで結局エラーが出なくなりました。
なんでDの呼び出し規約で正しい動きをするのか
まったくわけわかんないんですがこれでいいんでしょうか・・・
0167160
2013/02/08(金) 23:38:46.240168デフォルトの名無しさん
2013/02/09(土) 00:09:10.44D DLLs close standard input/output streams when unloading
0169デフォルトの名無しさん
2013/02/09(土) 00:30:31.25(´・ω・`)
0170デフォルトの名無しさん
2013/02/09(土) 00:33:55.29通りでD言語で作られたライブラリが一切DLL化されないわけだぜ
0171デフォルトの名無しさん
2013/02/09(土) 00:47:09.490172デフォルトの名無しさん
2013/02/09(土) 00:47:13.470173デフォルトの名無しさん
2013/02/09(土) 00:57:20.661 load
2 ok
3 free
4 end
0174デフォルトの名無しさん
2013/02/09(土) 01:10:41.830175デフォルトの名無しさん
2013/02/09(土) 01:11:38.050176デフォルトの名無しさん
2013/02/09(土) 01:18:43.240177デフォルトの名無しさん
2013/02/09(土) 08:12:52.750178デフォルトの名無しさん
2013/02/09(土) 16:31:15.36alias thisするメンバがprivateだとundefined identifierになるぽい
これって動作としては正しい?
privateにしないと外からalias this対象がメンバとして触れちゃうから問題な気が・・
http://ideone.com/kVVl02
0179デフォルトの名無しさん
2013/02/09(土) 17:03:54.30逆に private な alias this はどんな動作になるべきだと考えてるの?
0180デフォルトの名無しさん
2013/02/09(土) 17:28:02.48エスパーだが、こういうことがしたいのではないか
struct S
{
private:
T x;
public:
@property T getX() { return x; }
alias getX this;
}
0181デフォルトの名無しさん
2013/02/09(土) 17:44:02.76YES!
0182デフォルトの名無しさん
2013/02/11(月) 22:29:44.30destroy の方が新しいのか
逆だと思ってたわ
0183デフォルトの名無しさん
2013/02/11(月) 23:08:46.700184デフォルトの名無しさん
2013/02/11(月) 23:22:19.460185デフォルトの名無しさん
2013/02/12(火) 13:42:22.61もしかしてDMD以外のコンパイラを使ってないか?
0186デフォルトの名無しさん
2013/02/12(火) 14:05:39.37俺もxpでdmdだが問題出ない
load〜freeを100回ループさせても正常
0187デフォルトの名無しさん
2013/02/12(火) 14:22:30.570188デフォルトの名無しさん
2013/02/12(火) 14:39:03.09副作用出るかは知らないが
0189デフォルトの名無しさん
2013/02/13(水) 19:38:22.65同じバイナリが WinXP/32 だと普通に動くな
0190デフォルトの名無しさん
2013/02/15(金) 02:52:24.190191デフォルトの名無しさん
2013/02/15(金) 20:19:41.440192デフォルトの名無しさん
2013/02/15(金) 20:25:52.02auto range2 = range1.find(2);
assert(distance(range1, range2) == 2);
のdistanceみたいな関数ないですか?
0193デフォルトの名無しさん
2013/02/15(金) 20:53:18.04range1.countUntil(range2);
0194デフォルトの名無しさん
2013/02/15(金) 20:56:53.49auto range1 = [0, 1, 2, 3];
auto range2 = range1.find(2);
auto range3 = range1.find(3);
assert(distance(range2, range3) == 1);
こっちのほうです。
0195デフォルトの名無しさん
2013/02/15(金) 21:01:53.650196デフォルトの名無しさん
2013/02/16(土) 08:23:22.800197デフォルトの名無しさん
2013/02/16(土) 10:42:54.480198デフォルトの名無しさん
2013/02/16(土) 11:59:49.240199デフォルトの名無しさん
2013/02/16(土) 18:11:00.11アセンブリ 70% とか書いてあるのを見て俺はおまいらに託すことに決めたぜ
https://github.com/DigitalMars/optlink
0200デフォルトの名無しさん
2013/02/17(日) 20:46:00.370201デフォルトの名無しさん
2013/02/18(月) 12:30:12.77alias INT = int; の構文がさっそく死んだ…?
0202デフォルトの名無しさん
2013/02/18(月) 14:29:36.52公式wikiがいい感じに作られている
次スレのテンプレに入れておこう
0203デフォルトの名無しさん
2013/02/18(月) 18:15:17.150204デフォルトの名無しさん
2013/02/18(月) 18:26:51.042.062 では消されていないようだ
てかgithubのブランチが分かれてよくわからなくなってるんだが
0205デフォルトの名無しさん
2013/02/18(月) 20:35:50.72http://dconf.org/
0206デフォルトの名無しさん
2013/02/18(月) 22:38:15.93masterが最新だと思っていたら 2.062 よりはるかに古かったぜ…
0207デフォルトの名無しさん
2013/02/18(月) 22:49:24.280208デフォルトの名無しさん
2013/02/18(月) 23:29:35.25代替法あるん?
class C{
C opAssign(C c){
return this;
}
}
void main(){
C c = new C;
C d;
d = c;
}
Error: class temp.C identity assignment operator overload is illegal
0209デフォルトの名無しさん
2013/02/18(月) 23:52:55.230210デフォルトの名無しさん
2013/02/19(火) 00:07:59.38今までコンパイル通ってたから気付かなかった
じゃあみんなディープコピーしたい場合どうしてるん
0211デフォルトの名無しさん
2013/02/19(火) 00:26:29.64必要なら mixinとか alias thisで誤魔化す
0212デフォルトの名無しさん
2013/02/19(火) 00:33:26.34ほんとは cloneとかdeepCopy とかいう関数を地道に呼んでます
0213デフォルトの名無しさん
2013/02/19(火) 01:21:16.890214デフォルトの名無しさん
2013/02/19(火) 19:40:03.010215デフォルトの名無しさん
2013/02/19(火) 21:24:53.37とかそういうこと?
0216デフォルトの名無しさん
2013/02/20(水) 00:16:31.82classは参照型のセマンティクスを持っているので、自身と同じ型を取るopAssignは定義できない。
一方structは値型のセマンティクスなので、自身と同じ型を取るopAssignでも定義可能。
0217デフォルトの名無しさん
2013/02/20(水) 00:22:32.50>templateは要素がひとつで同名って条件でtemplate名称を省略できるって
>公式のどこかで見た記憶があるんだけど下の例でクラスのAをtemplate名称なしで
>使えちゃうのは合法?
>
>template A(T){
> class A{}
> T s; ←A.Aとしてclassを参照するために邪魔になると思われるもの
>}
この用法は合法(TDPLに上の様な場合「メンバsはテンプレートAの外側からは
アクセスできなくなる」と書かれている)。またstd.traitsのテンプレートの多くは
この仕組みを使って細かい実装用のテンプレートを内側に隠している。
0218デフォルトの名無しさん
2013/02/20(水) 00:57:28.940219デフォルトの名無しさん
2013/02/20(水) 15:03:21.31・新機能はいらないけどバグ修正はほしい -> staging
・PullRequestを出したい -> master を取得して staging/master/hogeFeatureのどれかへ
・最新機能を試したい -> master を取得して hogeFeatureを各自でマージ
こういう認識で合ってる?
masterとstaging のどちらが新しいと一概に言えないっぽいところが悩ましい
http://wiki.dlang.org/Development_and_Release_Process
誰か訳してくれないかな〜(チラッ
0220デフォルトの名無しさん
2013/02/20(水) 19:25:56.86「arr.lengthとarr[i]が定義されてるようなもの」ってことなら、
std.rangeのhasLengthとisRandomAccessRange使えばいいよ
0221デフォルトの名無しさん
2013/02/20(水) 23:33:05.73残念だけど、今のところそこに書かれていることは
「こういうプロセスで開発したら良いんじゃない?」程度で
実際にそれに則って開発がされているわけではない。
stagingブランチは2.060のReleaseから作られているが、現状では
「ベータ版が出てる最中に、Release用のRegression fixとかを
masterとは別に積み上げるためのブランチ」程度の意味しかない。
0222デフォルトの名無しさん
2013/02/20(水) 23:36:28.91ありがとうございます。
0223デフォルトの名無しさん
2013/02/21(木) 13:16:57.80そうか。ありがとう
0224デフォルトの名無しさん
2013/02/22(金) 13:08:56.76ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
0225デフォルトの名無しさん
2013/02/22(金) 18:49:57.590226デフォルトの名無しさん
2013/02/22(金) 19:04:12.440227デフォルトの名無しさん
2013/02/23(土) 00:07:53.66>>>129
>実験パッチは作って試してみる予定。ただ、Fwdref問題がいっぱい出てくるかもしれないから
>対応するかは半々だなあ。
PullReq出して、マージされました。
https://github.com/D-Programming-Language/dmd/pull/1676
大きな問題が出なければ、2.063で使えるようになると思います。
0228デフォルトの名無しさん
2013/02/23(土) 00:40:11.25ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
0229デフォルトの名無しさん
2013/02/23(土) 00:40:36.58うおおお!
ありがとうございます!
0230デフォルトの名無しさん
2013/02/23(土) 00:47:00.25localeおかしいぞ
0231デフォルトの名無しさん
2013/02/23(土) 07:28:58.42すげえええ
内部でrange関数使ってるからnothrowなのにnothrowじゃない日々ともおさらばだ!
0232デフォルトの名無しさん
2013/02/23(土) 14:16:00.620233デフォルトの名無しさん
2013/02/23(土) 19:12:31.79you're ウスベニウンコ
0234片山博文MZパンク ◆0lBZNi.Q7evd
2013/02/24(日) 00:07:31.360235デフォルトの名無しさん
2013/02/24(日) 00:13:17.530236デフォルトの名無しさん
2013/02/24(日) 03:46:42.640237デフォルトの名無しさん
2013/02/25(月) 15:51:16.98バカタ山に構うな
0238デフォルトの名無しさん
2013/02/25(月) 16:46:43.580239デフォルトの名無しさん
2013/02/25(月) 17:58:44.930240デフォルトの名無しさん
2013/02/25(月) 18:44:21.720241デフォルトの名無しさん
2013/02/28(木) 17:44:20.810242デフォルトの名無しさん
2013/02/28(木) 19:28:26.700243デフォルトの名無しさん
2013/02/28(木) 22:04:25.28Dのref/outやプロパティでは満足できない用途ってこと?
0244デフォルトの名無しさん
2013/02/28(木) 22:47:58.34呼び出し側にref/outつけたい
というような細かいことだったりするんだごめんよ
0245デフォルトの名無しさん
2013/02/28(木) 23:38:19.90なるほど
プロパティは糖衣構文(かコンパイル時関数実行)で対応できそうだけど
呼び出し側のref付は内部構造に関わりそうね
0246デフォルトの名無しさん
2013/03/01(金) 00:51:37.24文字列処理関数のおかげでレキシカルアナライザの構築がスゲー楽だった
たぶん全く需要無さそうだけど。
0247デフォルトの名無しさん
2013/03/01(金) 01:22:28.230248片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/01(金) 18:59:36.14欲しい! githubにでも公開してくだされ
0249デフォルトの名無しさん
2013/03/01(金) 23:02:34.42「見たい」ではなく「欲しい」な時点で程度が伺える。
0250デフォルトの名無しさん
2013/03/01(金) 23:58:41.04>>248
コード整理して人に見せられるレベルにしてから上げます!
ちなみに最適化処理とか一切無いです。。。。。。
0251デフォルトの名無しさん
2013/03/02(土) 00:18:03.99その上で要望があるならまた考えればいい
0252デフォルトの名無しさん
2013/03/06(水) 00:17:36.99俺の気のせいかな
0253デフォルトの名無しさん
2013/03/06(水) 00:55:46.43範囲が256より大きいとエラーになる仕様
0254デフォルトの名無しさん
2013/03/06(水) 01:08:15.200255デフォルトの名無しさん
2013/03/06(水) 01:11:28.730256デフォルトの名無しさん
2013/03/06(水) 01:15:40.26これを見るがよい
0257デフォルトの名無しさん
2013/03/06(水) 10:31:08.62D使うのやめるわ
0258デフォルトの名無しさん
2013/03/06(水) 13:20:51.890259デフォルトの名無しさん
2013/03/09(土) 15:24:27.47実装が簡単とか書いてあったので気になったんですが
0260デフォルトの名無しさん
2013/03/09(土) 15:25:54.840261デフォルトの名無しさん
2013/03/09(土) 15:35:55.61ああ、うん、C++11実装するよりは簡単じゃね?ぐらい
0262デフォルトの名無しさん
2013/03/09(土) 17:35:51.31オリュンポス山登頂する程度の難易度の低さだと思う
0263デフォルトの名無しさん
2013/03/09(土) 19:33:30.32双方向リンクリストがないのは何か理由があるのでしょうか?
よく使うので、あると便利だと思ったのですが。
0264デフォルトの名無しさん
2013/03/09(土) 19:39:08.790265263
2013/03/09(土) 20:48:36.940266263
2013/03/09(土) 21:13:19.310267デフォルトの名無しさん
2013/03/11(月) 00:45:06.08登山口にたどり着けないんですがそれは
0268デフォルトの名無しさん
2013/03/11(月) 01:18:57.99This article is about the volcano on Mars.
0269片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/11(月) 04:30:27.310270デフォルトの名無しさん
2013/03/11(月) 12:19:04.950271デフォルトの名無しさん
2013/03/13(水) 22:24:04.18-Iオプションみたいに引数でディレクトリパス渡す方法ある?
引数としてlibのパスを直接渡しても
pragma(lib, "xx")があるとリンクされないみたいなんだ
0272デフォルトの名無しさん
2013/03/13(水) 23:15:54.330273デフォルトの名無しさん
2013/03/14(木) 14:02:54.29-Lでリンカのオプション渡せるから使ってるリンカのオプション調べれば出来るんじゃね
0274デフォルトの名無しさん
2013/03/14(木) 14:22:32.51GCCのリンカなら「-L」
でいけるようだ
残念ながらoptlinkには無い
0275デフォルトの名無しさん
2013/03/14(木) 15:27:51.86そんなふうに考えていた時期が俺にもありました
今は バージョンが上がったらライブラリもビルドし直すからと割りきって
windows\lib に直に放り込むことにしている
0276271
2013/03/14(木) 20:25:40.04pragma削る方向で対応してみるよ
答えてくれたみんなありがとさん
0277デフォルトの名無しさん
2013/03/18(月) 00:17:04.17GDCが組み込まれるという噂はどうなったのかしらん
0278デフォルトの名無しさん
2013/03/18(月) 15:24:19.72DMD2G -デファクトスタンダード- として大ヒットするという俺の読みが
0279片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/19(火) 18:23:57.380280デフォルトの名無しさん
2013/03/19(火) 19:40:24.150281デフォルトの名無しさん
2013/03/21(木) 01:54:24.6600428DA3見かけたことある人は多いと思うんだが
-gcがまずいのかな…しかしrdmdもoptlinkがコケて動かないし
0282デフォルトの名無しさん
2013/03/21(木) 01:56:04.090283デフォルトの名無しさん
2013/03/21(木) 03:14:17.14lib に分割すると動いたりする
0284デフォルトの名無しさん
2013/03/23(土) 10:26:04.58こんなの開けるくらい有名になったんだなD言語のこれからに期待
http://www.youtube.com/watch?v=50uS7nbgq2E
0285デフォルトの名無しさん
2013/03/23(土) 13:19:54.42なにこれ、シャレにならん 特別工作部隊を要請せねば
0286デフォルトの名無しさん
2013/03/23(土) 15:40:57.06AV撮影会かなんかですか?
0287デフォルトの名無しさん
2013/03/23(土) 15:50:52.350288デフォルトの名無しさん
2013/03/23(土) 19:01:14.420289デフォルトの名無しさん
2013/03/23(土) 23:39:17.540290デフォルトの名無しさん
2013/03/23(土) 23:42:10.950291デフォルトの名無しさん
2013/03/24(日) 12:27:56.97サーキット走行会 走郎にわろた。そうろうて
0292デフォルトの名無しさん
2013/03/24(日) 23:58:09.06なるほど
じゃあ256bit整数ができたらducentになるのか
0293デフォルトの名無しさん
2013/03/25(月) 00:47:44.8128はどこいったの
0294デフォルトの名無しさん
2013/03/25(月) 01:26:17.780295デフォルトの名無しさん
2013/03/25(月) 02:02:05.970296デフォルトの名無しさん
2013/03/25(月) 02:03:21.690297デフォルトの名無しさん
2013/03/25(月) 02:21:49.380298デフォルトの名無しさん
2013/03/25(月) 06:36:13.21正しくはそうなんだが
過去に1k=1024として使ってたせいで今も慣例としてそう書かれる場面は多いんだから
その辺も含めて同じというか似たような理屈ってことでしょ
0299デフォルトの名無しさん
2013/03/25(月) 07:22:00.440300デフォルトの名無しさん
2013/03/25(月) 07:30:53.550301デフォルトの名無しさん
2013/03/25(月) 09:20:43.901024の時はkでなくKと書く
0302デフォルトの名無しさん
2013/03/25(月) 21:41:22.23本当に1024にしたいならKi使った方がいい
0303デフォルトの名無しさん
2013/03/25(月) 21:52:08.030304デフォルトの名無しさん
2013/03/25(月) 22:00:00.85あくまで慣例なので実際どこまで正確に使われているかは怪しい
Kiは1024以外で使われることは無い
0305デフォルトの名無しさん
2013/03/25(月) 22:57:28.27なんでさらに同じ方向にぶっ込んでくるんだw
0306デフォルトの名無しさん
2013/03/25(月) 23:04:07.860307デフォルトの名無しさん
2013/03/25(月) 23:11:13.900308デフォルトの名無しさん
2013/03/26(火) 00:08:33.92コンパイル時うひょー
0309デフォルトの名無しさん
2013/03/26(火) 21:24:36.45ここで言うのも何だが監修のお二人乙です
0310デフォルトの名無しさん
2013/03/26(火) 21:36:48.990311デフォルトの名無しさん
2013/03/26(火) 21:41:47.38D友のTDPL訳が面白かったから読んでみたかったんだよな
0312デフォルトの名無しさん
2013/03/27(水) 00:01:17.650313デフォルトの名無しさん
2013/03/27(水) 00:09:03.060314デフォルトの名無しさん
2013/03/27(水) 01:19:20.600315デフォルトの名無しさん
2013/03/27(水) 09:45:23.750316デフォルトの名無しさん
2013/03/27(水) 10:02:04.50○2.063
◎DConf2013
△Bugzilla Issue 10,000
TDPL 日本語訳 ← 出走予定なし
0317デフォルトの名無しさん
2013/03/27(水) 11:12:49.40D言語パーフェクトガイドみたいな初心者向けの新規本だったりして
0318デフォルトの名無しさん
2013/03/27(水) 11:21:41.51詳しくはこの辺りのツイート参照
ttps://twitter.com/repeatedly/status/316563703921254400
0319デフォルトの名無しさん
2013/03/27(水) 11:52:45.34しかも監修はコミッタ2人か
TDPL買ったはいいけど英語苦手で半分も読めなかったので助かる
0320デフォルトの名無しさん
2013/03/27(水) 19:22:19.47いやD関係で知ってる日本人3〜4人くらいしかいないけど…
0321デフォルトの名無しさん
2013/03/27(水) 20:37:48.98こんな表紙だったら俺には買えないところだった…
http://www.dotup.org/uploda/www.dotup.org4076950.png
0322デフォルトの名無しさん
2013/03/27(水) 23:17:22.68読めなかったけど黒くてかっこいいのだったし表紙デザインもなんだかモダンな感じだったからうちでは飾ってるよ
何で日本語版は白なんだろう表紙もDじゃなくてCって書いてあるし!
0323デフォルトの名無しさん
2013/03/27(水) 23:20:25.110324デフォルトの名無しさん
2013/03/27(水) 23:22:11.360325デフォルトの名無しさん
2013/03/28(木) 02:14:30.100326デフォルトの名無しさん
2013/03/28(木) 02:18:34.020327デフォルトの名無しさん
2013/03/29(金) 21:19:19.190328デフォルトの名無しさん
2013/03/29(金) 23:33:03.000329デフォルトの名無しさん
2013/03/29(金) 23:52:57.36作者が発表しないと情報を知る由もないね。
0330デフォルトの名無しさん
2013/03/30(土) 02:12:22.31tupleのsyntaxについての提案
0331デフォルトの名無しさん
2013/03/30(土) 02:39:48.51Perlを思い出すのは何故だ
0332デフォルトの名無しさん
2013/03/30(土) 03:07:40.56{} proc({}) {
...
}
ついでに仮引数の宣言の丸括弧取れるんじゃね?
0333デフォルトの名無しさん
2013/03/30(土) 03:09:33.15パッと見はハッシュリファレンスのほうに見えるけど
{}を()にするとかなりPerlのリストっぽい書き方になるね
0334デフォルトの名無しさん
2013/03/30(土) 07:53:39.90構文解析器が泣いてお詫びするレベル
0335デフォルトの名無しさん
2013/03/30(土) 08:52:45.510336デフォルトの名無しさん
2013/03/30(土) 10:43:41.010337デフォルトの名無しさん
2013/03/30(土) 10:50:28.320338デフォルトの名無しさん
2013/03/30(土) 10:53:12.480339デフォルトの名無しさん
2013/03/30(土) 11:52:07.49いいかげん世代別コピーGCかTreadmillGC実装しろよウォルター
0340デフォルトの名無しさん
2013/03/30(土) 13:45:38.430341デフォルトの名無しさん
2013/03/30(土) 15:12:07.61マジ進んでる
0342デフォルトの名無しさん
2013/03/30(土) 15:19:14.01安全第一保守的GCだろ
開放漏れならわかるけど
0343デフォルトの名無しさん
2013/03/30(土) 15:44:49.990344デフォルトの名無しさん
2013/03/30(土) 16:54:04.780345デフォルトの名無しさん
2013/03/30(土) 18:34:43.86スタックフレームとの兼ね合いが大変そうだ
0346デフォルトの名無しさん
2013/03/30(土) 19:01:28.02newしたら即GC.addRoot()で解決したから大した問題じゃない
0347デフォルトの名無しさん
2013/03/30(土) 19:10:55.910348デフォルトの名無しさん
2013/03/30(土) 20:17:29.04「最近のDはいきなりメモリ破壊しないから
デバッグマジ簡単wwwマジwww神言語www(大意)」
って言ってたな
0349デフォルトの名無しさん
2013/03/31(日) 02:55:57.890350デフォルトの名無しさん
2013/03/31(日) 23:53:55.19void call(alias fun)(){ fun(); }
module b;
private void foo();
call!foo(); // なぜ呼べん
0351デフォルトの名無しさん
2013/04/01(月) 01:49:40.75alias=ってもう消えたの
0352デフォルトの名無しさん
2013/04/01(月) 02:02:51.17多分そういう話じゃなくて master に 2.062までの反映漏れがあるという問題だろうな
0353デフォルトの名無しさん
2013/04/01(月) 23:13:59.970354デフォルトの名無しさん
2013/04/01(月) 23:15:36.150355デフォルトの名無しさん
2013/04/02(火) 00:20:20.310356デフォルトの名無しさん
2013/04/02(火) 00:21:33.62public import
0357デフォルトの名無しさん
2013/04/02(火) 15:07:01.99http://comments.gmane.org/gmane.comp.lang.d.announce/13317
Noooooooooooooooooooooooooooooo!!
0358デフォルトの名無しさん
2013/04/02(火) 19:23:02.780359デフォルトの名無しさん
2013/04/02(火) 20:09:48.68andreiタソおちゃめだな
0360デフォルトの名無しさん
2013/04/06(土) 02:16:27.72>>328 すんません。全然すすんでなかったり。。。f(^_^;)
githubに場所借りたのでお知らせします。
あと手持ちのリソースも晒しときますので宣伝させてください。
//github.com/garlic-flavor
o /mqo_loader
UDAで頂点情報を定義するようにしました。
o /KLisp
Lisp-Like言語実装補助。Runtime/CTFEコンパチ!
Yane-Lisp互換の実装がサンプルにあります。
o /amm
Automatic Makefile Maker
D言語のソースからMakefileを自動生成します。
なまあたたかくよろしく!m(_ _)m
0361デフォルトの名無しさん
2013/04/06(土) 02:41:45.020362デフォルトの名無しさん
2013/04/06(土) 02:53:41.040363デフォルトの名無しさん
2013/04/06(土) 20:48:12.93http://kohada.2ch.net/test/read.cgi/pcnews/1365242417/l50
世界中でダントツの人気!各BASICの特徴
・ AGK App Game Kit(http://www.appgamekit.com/)
海外で主流のマルチプラットフォームの開発環境。
C言語風味の記述が特徴で、中身はDarkBASIC。
Ver1.088で3Dインターフェイス対応。
・ DarkBASIC(http://darkbasic.thegamecreators.com/)
VisualBASIC以前の旧式マイクロソフトBASICの進化形。
DirectXをサポート、商用アプリ作成可能。
C言語にはない強力な文字列操作、複雑な記述が可能。
・ Basic4GL(http://www.basic4gl.net/)
OpenGLを基幹インターフェイスにしたゲーム用開発言語。
考え方はAGKやDarkBASICに近い。
上記の2つと同じように実行ファイルのメディアパッケージング可能。
・ 99BASIC(http://www.sagami.ne.jp/tadaka/99Basic/)
MSXやPC-8801世代の旧式マイクロソフトBASICに準拠したBASIC。
DirectXはサポートしておらず、簡単な2Dインターフェイスのみ使える。
インタープリター形式で直接実行モードもある
0364デフォルトの名無しさん
2013/04/06(土) 20:48:52.05http://forum.dlang.org/thread/[email protected]
目玉はパイプ・リダイレクト
0365デフォルトの名無しさん
2013/04/06(土) 23:01:37.870366デフォルトの名無しさん
2013/04/07(日) 00:30:37.74msvcrt.libってどっかで使ってるんですか?
この期にDerelict3の環境整えようと思うんですけどその当たりに絡んでくるものだったりですか?
0367デフォルトの名無しさん
2013/04/07(日) 02:22:32.910368360
2013/04/07(日) 03:47:52.42msvcrt.libについてはちょっと書こうとおもってました。
2.059から2.062の間に std.stdio.fopen の中身がCの fopen から _wfopen にかわったみたいなんですが、
snn.lib にはいってる _wfopen が日本語に対応してないみたいなんですよ。
で、これまでは SHIFT-JIS に変換して std.stdio.File のコンストラクタに渡してたんですが、
2.062 でそれすると中で呼ばれてる toUTF16z がコケるんで手詰まりだったんです。
で、msvcrt.lib の _wfopen を呼ばせるようにリンクしたら今度は snn.lib とシンボルがかぶってる旨のエラーが出てそのままじゃ使えない。
ってことで、coffimplib -e でまず module definition file を作って中の(_sprintfだったかな?)シンボルをいくつか消して、
さらに implib して作ったのが付属の msvcrt.lib です。Derelict関係ないですね。長文スマソ
0369デフォルトの名無しさん
2013/04/07(日) 09:31:28.290370デフォルトの名無しさん
2013/04/07(日) 11:31:37.33中でtoUTF16zしてるならSJISじゃなくてUTF-8で渡さないとだめなんじゃね?
0371デフォルトの名無しさん
2013/04/07(日) 12:33:29.98あー・・・
D言語をディープに使っていくのは茨の道だということが分かりました
0372デフォルトの名無しさん
2013/04/07(日) 12:40:17.40Windows(FAT32、NTFS)のファイルパスって一部記号が使えないだけの完全UnicodeだからそもそもShift-JIS渡しちゃダメじゃね?
0373デフォルトの名無しさん
2013/04/07(日) 13:17:30.090374デフォルトの名無しさん
2013/04/07(日) 15:05:18.15ファイルシステム関係なく
W系の関数ならUnicode(UTF16)
それ以外のA系とか何もついてない系はShiftJISを渡す
DのcharはUTF8のことだから、今までShiftJISで動いてたならそれがバグ
>>368は単純にtoUTF16zにShiftJIS突っ込む形になって死んでるのでは
0375デフォルトの名無しさん
2013/04/07(日) 17:53:38.980376デフォルトの名無しさん
2013/04/08(月) 18:23:33.25今の今まで忘れてたけど今日発売だった
ここ見てるような奴らはだいたい買うだろ
0377デフォルトの名無しさん
2013/04/08(月) 22:26:51.840378デフォルトの名無しさん
2013/04/08(月) 22:29:02.91俺も買ってきた
0379デフォルトの名無しさん
2013/04/08(月) 22:55:57.510380デフォルトの名無しさん
2013/04/08(月) 23:02:40.510381デフォルトの名無しさん
2013/04/08(月) 23:03:05.76いや、それはフライング販売なだけで発売日とは・・・
そうか今日行けば売ってたかもしれないのか・・・
0382デフォルトの名無しさん
2013/04/08(月) 23:06:15.29好きなほうを
ISBN-10 : 4798131105
ISBN-13 : 978-4798131108
0383デフォルトの名無しさん
2013/04/08(月) 23:07:15.740384デフォルトの名無しさん
2013/04/08(月) 23:17:25.66ありがと
さっきまで>>353のタイトルで検索してたよ
0385デフォルトの名無しさん
2013/04/08(月) 23:28:53.260386デフォルトの名無しさん
2013/04/08(月) 23:37:08.06しむら日付ー!
ちなみに俺もTDPLって略称に慣れすぎてて
原題で検索かけてあれ尼登録されてねえなーって思ってたクチだったりする。
0387デフォルトの名無しさん
2013/04/08(月) 23:41:02.180388デフォルトの名無しさん
2013/04/09(火) 00:50:35.740389デフォルトの名無しさん
2013/04/09(火) 01:30:04.770390デフォルトの名無しさん
2013/04/09(火) 01:39:56.85アクションゲームを作らないかい
0391デフォルトの名無しさん
2013/04/09(火) 12:21:46.35ただしまだ正式にコミットされてないので
optlinkのソースをgithubから取得してPullを取り込んでビルドする必要がある
https://github.com/DigitalMars/optlink/pull/8
0392デフォルトの名無しさん
2013/04/09(火) 13:12:04.77おすすめのライブラリ
0393デフォルトの名無しさん
2013/04/09(火) 19:43:05.24個人的にはdxlib4dだけど世間一般ではSDLのほうがいいと言われる希ガス
0394デフォルトの名無しさん
2013/04/09(火) 20:10:52.63おい、嘘だろう?
0395デフォルトの名無しさん
2013/04/09(火) 20:37:29.03詳しくはここ
俺は試してない(キリッ
0396デフォルトの名無しさん
2013/04/09(火) 22:30:45.510397デフォルトの名無しさん
2013/04/09(火) 23:02:35.22Derelict3で2DならSDL2、3DならGLFW3を使う
DXLib for Dが使えたらWindowsじゃ最高だけど更新止まってる
http://qiita.com/items/ae23b681a47d9a16f4c6
0398デフォルトの名無しさん
2013/04/11(木) 12:16:32.23公式に取り込まれた
バイナリ配布
ttp://ftp.digitalmars.com/optlink.zip
まぁ何もかも一発で直るかどうかはわからないけど入れておいた方がよさげ
0399デフォルトの名無しさん
2013/04/12(金) 21:30:42.980400デフォルトの名無しさん
2013/04/13(土) 00:37:02.59連想配列のlengthが無いとか怒られてリンクできなくなったけどそんなの関係ねぇ!
0401デフォルトの名無しさん
2013/04/13(土) 17:10:34.630402デフォルトの名無しさん
2013/04/14(日) 23:19:45.18たまに16bitAppがどうの言ってエラーで起動できないことがある
0403デフォルトの名無しさん
2013/04/15(月) 12:17:09.09久しぶりにこのスレにきました。
早くD言語が広まることを望みます。
0404デフォルトの名無しさん
2013/04/15(月) 16:00:55.700405デフォルトの名無しさん
2013/04/15(月) 16:05:21.330406デフォルトの名無しさん
2013/04/15(月) 16:20:34.510407デフォルトの名無しさん
2013/04/15(月) 17:07:38.640408デフォルトの名無しさん
2013/04/15(月) 18:40:38.60同時代の実用性の十分な言語と比較せよ
0409デフォルトの名無しさん
2013/04/15(月) 20:03:03.41無理に安定させようとすると、つまんなくなってやめちゃう可能性大
0410デフォルトの名無しさん
2013/04/15(月) 20:04:55.380411デフォルトの名無しさん
2013/04/15(月) 20:17:55.350412デフォルトの名無しさん
2013/04/15(月) 20:29:56.36これをDに置き換えるとな
0413デフォルトの名無しさん
2013/04/15(月) 20:31:21.34静的型付け言語の実験場ってD以外になにかある?
あったらヲチしたいわ
0414デフォルトの名無しさん
2013/04/15(月) 22:16:07.450415デフォルトの名無しさん
2013/04/16(火) 07:45:33.46今年中に1.0にするらしいから、いつまでこの状態が続くか分からないけど。
0416デフォルトの名無しさん
2013/04/16(火) 21:01:14.38ちょっとバージョン古いけどdxlib4dで妥協することにした
0417デフォルトの名無しさん
2013/04/16(火) 21:04:52.630418デフォルトの名無しさん
2013/04/16(火) 21:16:16.25Windows用のSDL2、GLFW3のDLLは配布されてるぞ?
0419デフォルトの名無しさん
2013/04/16(火) 21:17:30.49ttps://www.dropbox.com/s/jmttaphy1o59q3b/SDL2.dll
ttps://www.dropbox.com/s/5h2tohrxqutg66r/glfw3.dll
GitHubのファイルアップロード機能が削除されたからリポジトリサーバーには含まれてない
0420デフォルトの名無しさん
2013/04/16(火) 22:40:52.080421デフォルトの名無しさん
2013/04/16(火) 23:49:09.670422デフォルトの名無しさん
2013/04/17(水) 01:22:45.91何年か前仕様見て感動したけど
今じゃC#でいいわ。C#が欲しい機能みーんな実装してくれた
0423デフォルトの名無しさん
2013/04/17(水) 07:31:24.610424デフォルトの名無しさん
2013/04/17(水) 18:51:46.95C#のあとじゃまさに後の祭り。
そもそもD言語って公的スペックあったっけ?所詮同好会言語だろプゲラ
0425デフォルトの名無しさん
2013/04/17(水) 19:16:45.830426デフォルトの名無しさん
2013/04/17(水) 20:00:37.210427デフォルトの名無しさん
2013/04/17(水) 20:54:36.080428デフォルトの名無しさん
2013/04/17(水) 22:22:32.90やっぱ使用者人口多くないとダメなんかのー
0429デフォルトの名無しさん
2013/04/17(水) 23:27:54.380430デフォルトの名無しさん
2013/04/17(水) 23:55:00.13ライブラリを枯死させ
使用者を遠ざけていることはいまさら言うまでもない
せめて2年に1度くらいにまとめて
メジャーバージョンごとに違う名前をつけてるくらいでないとダメ
0431デフォルトの名無しさん
2013/04/18(木) 00:20:54.010432デフォルトの名無しさん
2013/04/18(木) 00:43:17.23みんな次どうなるか気になるし、作ってる方は好き勝手自分の思うことができる
これがなくなったらDは糞つまらないものになるだろう
0433デフォルトの名無しさん
2013/04/18(木) 09:34:03.84ビジネス的には魅力のかけらもなくてつまらないことこの上ないD言語
D言語 == ダメ言語
0434デフォルトの名無しさん
2013/04/18(木) 10:19:32.830435デフォルトの名無しさん
2013/04/18(木) 10:32:50.72春だからか
0436デフォルトの名無しさん
2013/04/18(木) 13:25:06.690437デフォルトの名無しさん
2013/04/20(土) 02:24:30.850438デフォルトの名無しさん
2013/04/20(土) 13:54:49.31例えば戻り値にGC.addRootが必要?
0439デフォルトの名無しさん
2013/04/20(土) 14:30:09.210440デフォルトの名無しさん
2013/04/20(土) 15:23:15.53呼び出し側が free
さもなければDLL側が removeRoot
呼び出し側が addRoot
こうじゃないかな
0441デフォルトの名無しさん
2013/04/20(土) 15:43:14.10前衛的過ぎる・・・
Cで書かれたdllで公開された
Something* createSomething();
deleteSometing(Something*);
を呼び出す場合についてです。
要するにD以外で確保されたメモリの管理についてです。
RAIIでSomethingリソースを管理しようと思うんですが、
D側でpが勝手にGCされないように
Something* p = createSomething();
GC.addRoot(p); //☆
:
GC.removeRoot(p); //☆
deleteSomething(p);
こうする必要あります?
0442デフォルトの名無しさん
2013/04/20(土) 16:00:40.44deleteSometing(Something*); // = free
GC全く関係ない
0443デフォルトの名無しさん
2013/04/20(土) 18:31:05.130444デフォルトの名無しさん
2013/04/21(日) 09:53:52.68> さもなければDLL側が removeRoot
> 呼び出し側が addRoot
これ間違い
DLLとEXEがGCを共有しない場合や、Cから呼ばれる場合に
DLL側がaddRoot・removeRootする
0445デフォルトの名無しさん
2013/04/21(日) 11:07:30.020446デフォルトの名無しさん
2013/04/21(日) 11:27:00.212.参照がいなくなる( GC.addRoot はこれを防ぐ )
3.GCによるメモリ回収
この流れで問題になるのは、>>444 のDLL内でメモリ確保して外部へ渡すケース
今回やっと理解したw
0447デフォルトの名無しさん
2013/04/24(水) 16:33:06.92staticLength!TとT.lengthってどう違うんですか?
0448デフォルトの名無しさん
2013/04/24(水) 19:06:29.70staticLengthは大昔にあったコンパイラのバグ対策のために使われてた。
今はまったく無意味。T.lengthを使いましょう
0449デフォルトの名無しさん
2013/04/24(水) 19:31:03.650450デフォルトの名無しさん
2013/04/26(金) 00:27:34.690451デフォルトの名無しさん
2013/04/26(金) 06:23:08.780452デフォルトの名無しさん
2013/04/26(金) 06:49:41.76最近Dの話題ROMるためだけに頑なに持ってなかった垢作っちまったし。
まー似たような奴けっこういそうだがここ。
0453デフォルトの名無しさん
2013/04/26(金) 07:23:41.940454デフォルトの名無しさん
2013/04/26(金) 12:04:02.17http://d.puremagic.com/issues/buglist.cgi?chfieldto=2020-12-31&chfieldfrom=2013-02-10&version=D2&version=D1%20%26%20D2&product=D
&query_format=advanced&chfield=resolution&chfieldvalue=FIXED&bug_severity=enhancement&bug_status=RESOLVED&resolution=FIXED
リリースまでに増える可能性もあるけど
0455デフォルトの名無しさん
2013/04/26(金) 12:21:24.49bugzillaの登録件数が週末にも新時代へ突入
ttp://d.puremagic.com/issues/show_bug.cgi?id=9992
0456デフォルトの名無しさん
2013/04/27(土) 17:17:04.680457デフォルトの名無しさん
2013/04/27(土) 19:04:12.63import std.range;
sort!"a[1]<b[1]"(zip(m.keys, m.values));
0458デフォルトの名無しさん
2013/04/27(土) 22:39:32.39thx
なるほどzipを使うんですね。
0459デフォルトの名無しさん
2013/04/28(日) 03:41:45.83そして栄光の Issue 10000 は
bugzilla don't accept Issue of number 10000
に決まりだ
0460デフォルトの名無しさん
2013/04/28(日) 05:56:10.63http://d.puremagic.com/issues/show_bug.cgi?id=10000
0461デフォルトの名無しさん
2013/04/28(日) 06:13:49.050462デフォルトの名無しさん
2013/04/28(日) 07:59:07.12auto sum = x => reduce!("a+b")(0, x);
Error: variable temp.main.sum type void is inferred from initializer (x) => reduce!("a+b")(0, x), and variables cannot be of type void
Error: cannot infer function literal type from _error_
0463デフォルトの名無しさん
2013/04/28(日) 08:07:09.74auto sum = (int[] x) => reduce!"a+b"(0, x);
0464デフォルトの名無しさん
2013/04/28(日) 14:25:34.17Dにも採用してホスィ・・・
0465デフォルトの名無しさん
2013/04/28(日) 15:32:21.670466デフォルトの名無しさん
2013/04/28(日) 19:33:38.410467デフォルトの名無しさん
2013/04/28(日) 20:58:53.43最近考察してみました
https://gist.github.com/9rnsr/1c93f6d6a54318b656b6
生のテンプレートラムダをaliasテンプレートパラメータで受け取り
nested structで包んでやれば、原理的にはPolymorphic lambdaが作れると考えてます
実行時にはコンテキストポインタを1つ持ち運ぶ形になります
まあ、現状はコンパイラがうまく動いてくれないので実現出来てないのですが
0468デフォルトの名無しさん
2013/04/28(日) 21:52:18.290469デフォルトの名無しさん
2013/04/29(月) 00:54:51.130470デフォルトの名無しさん
2013/04/29(月) 01:11:21.61彼女はウォルたんで私は四歳でした。
今では私がおじいさん。
0471デフォルトの名無しさん
2013/04/29(月) 01:39:26.27パレットカラーとかバイトオーダーとかバリエーション多すぎてワロえない…10年ぶりくらいに書いてる
>>470
既に高坂桐乃という嫁がいるので…
0472デフォルトの名無しさん
2013/04/29(月) 01:51:11.090473デフォルトの名無しさん
2013/04/29(月) 01:58:58.38フルカラー画像からパレットカラーに転送するときに色空間分割とかなんとか今日は嫁が画面から出てきてくれなくてパワーが足りなくて眠れない
0474デフォルトの名無しさん
2013/04/29(月) 11:47:25.11下記のようにするとコンパイラに怒られました。
エラーメッセージを見る限りfeはコンパイル時に決定するので出来そうな気がするんですが
こういうこと出来ないんでしょうか。
import std.stdio;
void main(){
version(none){
string fe = "foreach";
}else{
string fe = "foreach_reverse";
}
mixin(
fe ~ q{(x; [1, 2, 3]){
writeln(x);
}
});
}
Error: variable fe cannot be read at compile time
0475デフォルトの名無しさん
2013/04/29(月) 12:10:27.36コンパイル時なんちゃらをやるための基本
0476デフォルトの名無しさん
2013/04/29(月) 14:39:36.490477デフォルトの名無しさん
2013/04/29(月) 22:03:07.47呼ばれるopAssignのthisのメンバが未初期化状態になっているようです。
かといって初期化されているというのも文脈的に微妙な感じがします。
以下が考えられると思うんですが、これは不具合なのでしょうか、その場合、実際はどうなっているのが正しいのでしょうか。
1.不具合ではない。
2.dmdの不具合。opAssignが呼ばれないのが正しい。
3.dmdの不具合。S.initで初期化された後、opAssignが呼ばれるのが正しい。
4.dmdの不具合。その他。
import std.stdio;
struct S{
int n;
void opAssign(S rhs){
writeln(n); // 連想配列に突っ込んだときに呼ばれた場合、メンバが未初期化の値になっている
stdout.flush();
assert(this == S.init);
}
}
void main(){
S s;
S t;
s = t; // ok (sはS.init)
S[int] a;
a[0] = s; // core.exception.AssertError
}
0478デフォルトの名無しさん
2013/04/29(月) 22:05:40.96不具合でない場合、opAssignが呼ばれたのが未初期化状態のthisに対して行われたものかどうか判断する方法はあるのでしょうか。
0479デフォルトの名無しさん
2013/04/29(月) 22:29:31.55ちなみに>>477の影響でこれが落ちます。
import std.stdio;
void main(){
File f;
File[string] a;
a[""] = f;
}
object.Error: Access Violation
0480デフォルトの名無しさん
2013/04/29(月) 23:20:23.57右辺の評価で例外が発生した時に困るという話を聞いたような
0481デフォルトの名無しさん
2013/04/30(火) 18:49:08.72現状の挙動がバグなのは確定。不定値が見えるのは明らかにおかしい。
ただ、どういう挙動が正しいかははっきり決まってなかったと思う。
0482デフォルトの名無しさん
2013/04/30(火) 19:00:17.42ありえないw
0483デフォルトの名無しさん
2013/05/01(水) 00:39:27.92ということは既知の問題でしばらくは修正来なそうですね
連想配列に構造体を格納するときはポインタにしておきます・・・
0484デフォルトの名無しさん
2013/05/01(水) 07:10:43.61修正されたらしいからポインタなら安心だね
0485デフォルトの名無しさん
2013/05/01(水) 20:40:52.49環境はwindowsです。文字コードの問題だと思うのですが、どうすればいいのでしょうか?
0486デフォルトの名無しさん
2013/05/01(水) 21:43:52.01std.windows.charsetだっけ、うろ覚えですまぬ。
0487デフォルトの名無しさん
2013/05/01(水) 22:17:01.55レスthx
toMBSzでSHIFT-JIS?に変換して、std.conv.toでstringにしてやってみましたが、
今度はutf.d(290): invalid UTF-8 sequenceというエラーが出ました。
Dの標準ライブラリで日本語パスのファイルを扱うのが無理なのか・・・
0488デフォルトの名無しさん
2013/05/01(水) 22:42:29.39元々のパスがSJISなんじゃないか?
UTF-8を渡せ
0489デフォルトの名無しさん
2013/05/01(水) 22:50:26.36path = fromMBSz(path.ptr)
かな
たしかに普通にUTF-8でやっててFileとかでエラーになるの経験無い
0490デフォルトの名無しさん
2013/05/01(水) 22:54:28.66$ cat a.d
import std.stdio;
import std.windows.charset;
void main(){
File f = File(r"あ.txt".ptr.fromMBSz());
}
std.exception.ErrnoException@std\stdio.d(315): Cannot open file `邵コ繝サtxt' in mode `rb' (Invalid argument)
0491デフォルトの名無しさん
2013/05/01(水) 23:02:08.96ソースコードは何の文字コードで保存してる?
0492デフォルトの名無しさん
2013/05/01(水) 23:14:05.59それにしても File のコンストラクタが string (UTF8) を受け取って
Windowsにそのまま渡すってのはよく考えたら Phobosの バグじゃないか
0493デフォルトの名無しさん
2013/05/01(水) 23:14:12.96UTF-8
File f = File(r"あ.txt");でも同じエラーだからむしゃくしゃしてやった
0494デフォルトの名無しさん
2013/05/01(水) 23:19:40.430495デフォルトの名無しさん
2013/05/02(木) 07:05:33.470496デフォルトの名無しさん
2013/05/02(木) 12:06:53.73Fileのコンストラクタで受け取ったファイルパスはWindows環境ならtoUTF16zして_wfopenに渡してる
だからファイルパスはUTF-8で渡すのが正しい
ただこれ最近直った箇所なんでdmdのバージョン確認してみ2.062なら直ってる
0497デフォルトの名無しさん
2013/05/02(木) 13:50:13.50こんな重要な変更をアナウンス無しで入れるんじゃねーよ…
0498デフォルトの名無しさん
2013/05/02(木) 14:12:45.26>>368でも出てるけどsnn.libのW系関数バグったままみたい
直したんじゃなくて、テストでエラーにならないようにしただけだ最悪だ
ttp://d.puremagic.com/issues/show_bug.cgi?id=8643
0499デフォルトの名無しさん
2013/05/02(木) 16:56:17.120500デフォルトの名無しさん
2013/05/02(木) 17:06:52.150501デフォルトの名無しさん
2013/05/02(木) 18:03:42.28普通ネイティブAPI使うだろうに(std.fileのように)
0502デフォルトの名無しさん
2013/05/02(木) 20:46:29.66海外製アプリの常識だべ
それよりxyzzyのd-modeはどこいったんだ?
emacsのd-mode.lしかみつからん
0503デフォルトの名無しさん
2013/05/03(金) 00:07:36.880504デフォルトの名無しさん
2013/05/03(金) 11:13:23.200505デフォルトの名無しさん
2013/05/03(金) 14:33:07.10xyzzyのd-mode、ライセンスがわからないからどこにも置けないんだと思う
再配布オッケーかわからんので、持っていても上げられない
かなりの部分はcc, c-modeを参考にしているみたいだたから、それらを改造した方が早いかも
0506デフォルトの名無しさん
2013/05/04(土) 14:01:07.02あれは買うべきなのか。
0507デフォルトの名無しさん
2013/05/04(土) 14:49:47.730508デフォルトの名無しさん
2013/05/04(土) 15:11:44.940509デフォルトの名無しさん
2013/05/04(土) 15:16:53.43まだ読み終わっていないけど
「プログラミング言語C++」の路線でより軽快。
どうしてこういう仕様になったのかという背景思想がたくさん書いてあるから読んでいて楽しい。
0510デフォルトの名無しさん
2013/05/04(土) 15:35:25.12やはりD言語パーフェクトガ
0511デフォルトの名無しさん
2013/05/04(土) 16:05:42.64一体誰がこんなことを
0512デフォルトの名無しさん
2013/05/04(土) 21:50:40.91captureしたRegexMatchが階層構造になってないとことかえろすぎて精気吸い取られる...
0513デフォルトの名無しさん
2013/05/05(日) 00:17:17.550514デフォルトの名無しさん
2013/05/05(日) 04:27:36.680515デフォルトの名無しさん
2013/05/05(日) 10:52:01.920516デフォルトの名無しさん
2013/05/05(日) 11:04:56.44oh
0517デフォルトの名無しさん
2013/05/05(日) 12:53:34.400518デフォルトの名無しさん
2013/05/05(日) 13:24:25.25確かに
>>> (x, y) = (1, 2)
>>> (x, y) = (y, x)
>>> print x, y
2 1
0519デフォルトの名無しさん
2013/05/05(日) 13:56:11.130520デフォルトの名無しさん
2013/05/07(火) 01:34:06.410521デフォルトの名無しさん
2013/05/10(金) 21:47:13.11writeln(2 ^^ 0.5); // 1.41421
writeln(n ^^ 0.5); // Error: undefined identifier 'std'
えっ。
0522デフォルトの名無しさん
2013/05/10(金) 22:01:37.470523デフォルトの名無しさん
2013/05/10(金) 23:22:50.84import std.stdio: writeln;
モジュールまたいで衝突するから嫌いだ
0524デフォルトの名無しさん
2013/05/10(金) 23:45:23.150525デフォルトの名無しさん
2013/05/11(土) 00:44:34.36実行時の累乗演算はstd.math.powに変換されるので、std.mathをimportしないと
コンパイルに失敗する
0526デフォルトの名無しさん
2013/05/11(土) 01:15:55.640527デフォルトの名無しさん
2013/05/11(土) 01:21:52.900528デフォルトの名無しさん
2013/05/11(土) 01:25:11.99だがドキュメントに明記されていない
0529デフォルトの名無しさん
2013/05/11(土) 01:37:00.810530デフォルトの名無しさん
2013/05/11(土) 11:54:48.12removeに渡すRangeの取り方がない気がします。
何か方法はあるのでしょうか?
DList!(int) list, tmp;
tmp.insertFront(1);
auto range = tmp[];
list ~= range; // A
list.remove(range); // AでノードがディープコピーされてるためNG
0531デフォルトの名無しさん
2013/05/11(土) 23:51:23.470532デフォルトの名無しさん
2013/05/12(日) 10:41:40.20初めて見たけどすごく用途が限られてるような
真ん中に差し込んでいくツリーイメージで合ってる?
ノードを指定して両端からの追加・削除しかできない
import std.container, std.array, std.stdio;
void main()
{
auto a = DList!(int)( [3] );
auto b = a;
b.insertFront(2);
b.insertBack(4); // b : [ b1 [ a ] b2 ]
auto c = b;
c.insertFront(1);
c.insertBack(5); // c : [ c1 [ b1 [ a ] b2 ] c2 ]
writeln(c.array);
b.remove(b[]);
writeln(c.array); // c : [ c1 c2 ]
}
0533デフォルトの名無しさん
2013/05/12(日) 10:59:06.37例えば中間要素の挿入・削除をしたいとすると
中間ノード b を基準にその両端に追加・削除することになる
基準になるノードを決められなければ思い通りの操作ができないはず
0534530
2013/05/12(日) 12:19:02.43なるほど・・・こんな方法があったんですね。
しかし、このリスト使いにくいなぁ。
auto list = DList!(int)([1, 2, 3, 4, 5]);
auto r = find(list[], 4);
list.remove(r); // [4]ではなく[4, 5]が削除されてしまう
特定の要素を検索して削除することもできない。
0535デフォルトの名無しさん
2013/05/12(日) 12:39:05.990536デフォルトの名無しさん
2013/05/12(日) 14:45:25.070537530
2013/05/12(日) 17:41:45.73> 中間ノード b を基準にその両端に追加・削除することになる
これができないですね。
auto a = DList!(int)( [3] );
auto b = a;
b.insertFront(2); // a = [2, 3] b = [2, 3]
b.removeFront(); // a = [2, 3] b = [3]
未完成品か・・・
0538デフォルトの名無しさん
2013/05/12(日) 19:37:18.520539デフォルトの名無しさん
2013/05/12(日) 21:56:59.630540デフォルトの名無しさん
2013/05/12(日) 22:00:38.170541デフォルトの名無しさん
2013/05/12(日) 23:07:34.75http://dconf.org/talks/bright.html
0542デフォルトの名無しさん
2013/05/14(火) 12:01:49.06エディタで開くか、RDMDで擬似スクリプト実行するか
Winユーザはおおむね前者だと思うけど
0543デフォルトの名無しさん
2013/05/14(火) 17:23:12.700544デフォルトの名無しさん
2013/05/14(火) 20:21:59.210545デフォルトの名無しさん
2013/05/14(火) 20:29:51.750546デフォルトの名無しさん
2013/05/14(火) 21:25:21.91関連付けは普通にエディタだけど。
0547デフォルトの名無しさん
2013/05/15(水) 18:38:36.13ttp://ftp.digitalmars.com/dmd2beta.zip
目玉は多い
・__FUNCTION__
・ローカルインポートによるUFCS
・std.process(新)
あと何かあったっけ >>454
0548デフォルトの名無しさん
2013/05/15(水) 19:11:34.850549デフォルトの名無しさん
2013/05/15(水) 19:12:29.84失礼しました
0550デフォルトの名無しさん
2013/05/15(水) 20:19:30.09Issue 2630 が入ってないということはURLの期間の区切りがおかしいのか?
・unittest の中身を関数の使用例として ddoc ドキュメントに出力する機能
・dmd -unittest -cov=100 -main で単体テストのソースカバレッジ率強制
このへんライブラリ製作者向けの機能
0551デフォルトの名無しさん
2013/05/15(水) 22:57:09.93ありがと
RDMD関連付けは特に気にしなくてもいいのかな…今のところは
0552デフォルトの名無しさん
2013/05/16(木) 20:58:24.850553デフォルトの名無しさん
2013/05/17(金) 00:24:39.28http://d.puremagic.com/issues/show_bug.cgi?id=10094
こういうのはおまいら的にどう?
0554デフォルトの名無しさん
2013/05/17(金) 07:50:30.050555デフォルトの名無しさん
2013/05/17(金) 23:09:00.013 < x && x < 5
を
3 < x < 5
ってかけるようになんだよ
IA64で命令数増えちゃうじゃんか
0556デフォルトの名無しさん
2013/05/17(金) 23:42:01.510557デフォルトの名無しさん
2013/05/18(土) 00:06:45.48がありなら
3 < x < y < 5
もありだな。
「多重比較式」とでも呼ぶべきか
0558デフォルトの名無しさん
2013/05/18(土) 00:10:39.590559デフォルトの名無しさん
2013/05/18(土) 00:21:59.41速いかどうかは知らん…いや、遅いw
0560デフォルトの名無しさん
2013/05/18(土) 15:43:55.27x + y + 2 かける
x ^ y ^ 2 かける
x < y < 2 かけない
(´・ω・`)
0561デフォルトの名無しさん
2013/05/18(土) 16:00:44.74無いなら俺がそういう言語を作ってブレイクさせてやるぜ、と
0562デフォルトの名無しさん
2013/05/18(土) 16:35:51.050563デフォルトの名無しさん
2013/05/18(土) 19:24:08.97行列クラスAがあったとすると
"t"expを逆行列を求める演算子と定義して B = tA ってつかえたり、
"|"exp"|"を行列式を求める演算子と定義して x = |A| ってつかえたり
それなら exp"<"exp"<"exp と定義してやれば上のもできるな多分
0564デフォルトの名無しさん
2013/05/18(土) 22:04:07.45x = yの結果はxとyの値になって
x + yの結果はx+yになって
x ^ yの結果はx^yになるけど
x < yの結果はtrueかfalseやないんね?
>>561
ちなみにPythonはできるのぜ
0565デフォルトの名無しさん
2013/05/18(土) 22:50:00.96「失敗」で条件式を扱う言語もあるよ
その場合、例えばこんな仕様が考えられる
x < y < z ならまず x < y が成立しなければ「失敗」成立すれば「y」
y < z が成立しなければ「失敗」成立すれば「z」
「失敗」でないから条件式は成立したとみなされる…みたいなね
0566デフォルトの名無しさん
2013/05/18(土) 23:16:15.40それならx < yが成功してy == 0ならx < yはゼロになるんじゃないか?
0567デフォルトの名無しさん
2013/05/18(土) 23:34:22.99そうだよ
そういう言語の場合、条件式を必要とする文が見るのは
ゼロか否かでなく、失敗したかどうかになるからそれで問題ないのよ
まあDがそうなるとは思えないから、どうでもいいが
0568デフォルトの名無しさん
2013/05/18(土) 23:39:55.79compound comparison expression
でいいか?
0569デフォルトの名無しさん
2013/05/19(日) 04:44:06.86bool r = 2 < (0 < 5) //単純に大きい方を保持してると成立しない
bool r = 2 > (0 < 5) //単純に小さい方を保持してても成立しない
0570デフォルトの名無しさん
2013/05/19(日) 05:41:37.710571デフォルトの名無しさん
2013/05/19(日) 10:48:08.16漏れもそれで Python に乗り換えた
GUI もサクサク作れるし
実行速度も速いし
C/C++ に慣れてるひとには D よりも Python の方を薦める
0572デフォルトの名無しさん
2013/05/19(日) 12:53:37.19画像処理とかで同じコード書いても体感20倍は速度違う
PyPyとかCythonとかなら速いのかもしれんがそっちはGUI作るのが不可能(´・ω・`)
0573デフォルトの名無しさん
2013/05/19(日) 13:14:46.080574デフォルトの名無しさん
2013/05/19(日) 13:37:01.060575デフォルトの名無しさん
2013/05/19(日) 13:52:59.170576デフォルトの名無しさん
2013/05/19(日) 17:17:59.26あれ?
0577デフォルトの名無しさん
2013/05/19(日) 17:19:28.910578デフォルトの名無しさん
2013/05/19(日) 17:30:54.32“破壊力の変わらない、ただひとつの言語” Dython
0579デフォルトの名無しさん
2013/05/19(日) 17:31:44.210580デフォルトの名無しさん
2013/05/19(日) 17:38:51.410581デフォルトの名無しさん
2013/05/19(日) 17:52:22.88別の弱点がありそうじゃないか…orz
0582デフォルトの名無しさん
2013/05/19(日) 18:04:47.790583デフォルトの名無しさん
2013/05/19(日) 18:39:32.31バージョンが上がっても高い互換性を維持しつつ
豊富なライブラリと強力な開発環境があって……って言語あんま関係ねぇな
0584デフォルトの名無しさん
2013/05/19(日) 19:58:48.750585デフォルトの名無しさん
2013/05/19(日) 20:17:00.02「いや、でも Deimosよりマシ」
しばらく経って Deimos登場
ってなことがあったのを思い出した
0586デフォルトの名無しさん
2013/05/20(月) 14:56:40.26連想配列って、要素を詰め込んだ後にrehashしないと遅いみたいですけど、
要素の追加が不定期の場合、rehashのタイミングが難しいです。
C++のvecter.reserveのように、あらかじめハッシュテーブルのサイズを指定する事はできないんでしょうか?
0587デフォルトの名無しさん
2013/05/21(火) 13:21:46.78ちなみに dmd2\src\druntime\src\rt\aaA.d に実装がある
要素がいくつになったらテーブル拡張されるかのテーブルなら見られる
0588デフォルトの名無しさん
2013/05/21(火) 16:46:17.92レスthx
適当なタイミングでrehashするしかないか・・・
0589デフォルトの名無しさん
2013/05/21(火) 19:24:30.590590デフォルトの名無しさん
2013/05/21(火) 19:27:51.71http://dpaste.dzfl.pl/c47273d4
こういう、実行時に判断して別の処理をした(つまり別の型になっちゃう)レンジを返したい、
みたいな時ってどうしたらいいんだろ
0591デフォルトの名無しさん
2013/05/21(火) 20:44:49.10std.rangeにあるinterface使えばいいんじゃないかな?
効率落ちそうだけど
0592デフォルトの名無しさん
2013/05/22(水) 03:39:39.91他の環境だとどうなるか気になるので誰か↓のコード試して結果教えてください><
http://dpaste.dzfl.pl/d22490f3
0593デフォルトの名無しさん
2013/05/22(水) 08:47:25.220594デフォルトの名無しさん
2013/05/22(水) 09:27:26.910595デフォルトの名無しさん
2013/05/22(水) 09:31:00.48http://www.kmonos.net/alang/d/safed.html
0596デフォルトの名無しさん
2013/05/22(水) 10:37:49.110597デフォルトの名無しさん
2013/05/22(水) 11:02:20.14ttp://www.kmonos.net/alang/d/arrays.html#rectangular-arrays
0598デフォルトの名無しさん
2013/05/23(木) 00:38:24.90メモリアクセスが糞効率悪いコードだな
それくらいSIMDつかえよ
0599デフォルトの名無しさん
2013/05/24(金) 02:45:57.06thx!
ポインタへのポインタになってたのかぐぬぬ
>>598
こうですかわかりません><
http://dpaste.dzfl.pl/a1e5cd265
0600デフォルトの名無しさん
2013/05/24(金) 10:41:04.61emmsが入ってないからその後ろのStopWatchの浮動小数点演算が狂うみたい
しかしさすがにSIMDは速いな
AVXなんかで行列演算系の命令も結構増えてるから最適化すればもっと速くなりそう
0601デフォルトの名無しさん
2013/05/24(金) 12:00:33.060602デフォルトの名無しさん
2013/05/24(金) 12:16:04.31http://www.kmonos.net/alang/d/simd.html
0603デフォルトの名無しさん
2013/05/24(金) 12:32:02.19どの道asm命令知ってないと書けないし
0604デフォルトの名無しさん
2013/05/24(金) 19:50:22.720605デフォルトの名無しさん
2013/05/25(土) 01:03:38.95vcやgccのintrinsic命令みたいなことをやりたいんだろう
asm文をまたいだレジスタ割り当てとかできないようだけれども
インラインアセンブラで無名レジスタとか使えるようにすればいいのにねー
R64 reg1;
asm{
mov reg1, RAX; // reg1は実行スコープ内で退避不要なレジスタに変換される
}
みたいな
0606デフォルトの名無しさん
2013/05/25(土) 01:59:20.28ってただそれだけだと思う
0607デフォルトの名無しさん
2013/05/25(土) 12:28:08.06http://lists.puremagic.com/pipermail/digitalmars-d/2013-May/164167.html
DConfのスライドを見た感じC++のエンジンをDで呼び出すいいとこ取り手法
http://dconf.org/talks/evans_1.html
0608デフォルトの名無しさん
2013/05/25(土) 13:30:48.16実際問題どういう感じなんだろ?
0609デフォルトの名無しさん
2013/05/25(土) 13:44:25.980610デフォルトの名無しさん
2013/05/25(土) 14:26:27.330611デフォルトの名無しさん
2013/05/25(土) 14:40:06.65GC避けるのめどい
GC殺すよ
GC使おうとしたら警告出るスイッチをつけたい
@nogcとか
つまり大丈夫じゃないってことか
0612デフォルトの名無しさん
2013/05/25(土) 21:05:32.510613デフォルトの名無しさん
2013/05/25(土) 21:09:03.24トランザクショナルメモリに期待か?
0614デフォルトの名無しさん
2013/05/25(土) 21:46:30.550615デフォルトの名無しさん
2013/05/25(土) 22:30:47.250616デフォルトの名無しさん
2013/05/25(土) 23:26:45.540617デフォルトの名無しさん
2013/05/25(土) 23:29:13.530618デフォルトの名無しさん
2013/05/25(土) 23:41:56.970619デフォルトの名無しさん
2013/05/26(日) 01:53:02.030620デフォルトの名無しさん
2013/05/26(日) 02:39:27.97GCの改善はI/F作られてるんだしやりたきゃやってもいいのよ
0621デフォルトの名無しさん
2013/05/26(日) 14:37:29.580622デフォルトの名無しさん
2013/05/26(日) 14:47:40.08GC を使う D の操作
phobos の殆ども使えなくなるし、Dを使う意味が全くわからんぜ
0623デフォルトの名無しさん
2013/05/26(日) 14:54:21.05まあnewだけでも(オブジェクトまとめて作ってプールしときゃいいんだけど)
結構避けて書くのめんどいしなー。
0624デフォルトの名無しさん
2013/05/26(日) 17:45:43.240625デフォルトの名無しさん
2013/05/29(水) 12:26:30.120626デフォルトの名無しさん
2013/05/29(水) 15:23:53.100627デフォルトの名無しさん
2013/05/29(水) 19:33:57.000628デフォルトの名無しさん
2013/05/29(水) 22:14:20.050629デフォルトの名無しさん
2013/05/29(水) 22:34:25.95>>391-402の辺り
0630デフォルトの名無しさん
2013/05/29(水) 22:54:23.12> >>398 のせいかな
> たまに16bitAppがどうの言ってエラーで起動できないことがある
これその後見かけなくなった。何か他の問題だったんだろう
0631デフォルトの名無しさん
2013/05/29(水) 23:01:57.42でも Error 168: >64K Global Types とか出る…これは仕方ないように見えるなぁ
0632デフォルトの名無しさん
2013/05/30(木) 03:46:06.890633デフォルトの名無しさん
2013/05/31(金) 20:57:01.85売り切れすぎだろ…凄い人気だぜ
0634デフォルトの名無しさん
2013/05/31(金) 21:12:35.35世はまさにD言語時代
0635デフォルトの名無しさん
2013/05/31(金) 21:55:41.40おまいら現実を見ろよ
ttps://twitter.com/repeatedly/status/340341722791936001
0636デフォルトの名無しさん
2013/05/31(金) 22:54:23.830637デフォルトの名無しさん
2013/06/01(土) 10:34:06.900638デフォルトの名無しさん
2013/06/01(土) 11:03:10.330639デフォルトの名無しさん
2013/06/01(土) 11:13:11.52密かにGCフリー標準ライブラリも整備されつつあるからいける
多分いけると思う
いけるんじゃないかな
0640デフォルトの名無しさん
2013/06/01(土) 11:58:58.71人々は歓喜した
だが人々はやがて、そのライブラリがひどく使いにくいことに気づいた
そして年月がたち、Tango というライブラリが生まれ、人々は満足したという
0641デフォルトの名無しさん
2013/06/02(日) 20:11:23.92有効なWin32アプリケーションじゃないとか言われるんだけど、なにこれ?
D言語ってXPで実行できないの?
0642デフォルトの名無しさん
2013/06/02(日) 20:25:24.550643デフォルトの名無しさん
2013/06/02(日) 20:31:43.450644デフォルトの名無しさん
2013/06/02(日) 21:11:08.40そもそも win7でも動かなかったりして
0645デフォルトの名無しさん
2013/06/02(日) 22:19:16.020646デフォルトの名無しさん
2013/06/02(日) 23:02:00.75-L/exet:nt/su:windows:4.0
0647デフォルトの名無しさん
2013/06/02(日) 23:55:57.78なのでXPだと動かないって弾かれる。
うろ覚えだ
0648デフォルトの名無しさん
2013/06/03(月) 00:18:19.33という罠の気がしてならない
0649デフォルトの名無しさん
2013/06/03(月) 00:21:02.020650デフォルトの名無しさん
2013/06/03(月) 04:32:07.06xpの上でdmdでコンパイルしたらどうなんの
0651デフォルトの名無しさん
2013/06/03(月) 13:28:19.46このへんアマアマだな
0652デフォルトの名無しさん
2013/06/03(月) 14:18:45.87それ単にexeって拡張子をわざわざ指定してobj吐かせてるんじゃないの?
0653デフォルトの名無しさん
2013/06/03(月) 14:51:06.60objファイルすら理解してない人がなんでD言語にたどり着いたんだろ?
0654デフォルトの名無しさん
2013/06/03(月) 14:56:35.21拡張子を変えられる機能はいらぬ いらぬのだ
0655デフォルトの名無しさん
2013/06/04(火) 03:09:31.31俺を含む5,6年前の都立大生のはじめて触れるプログラミング言語はDだった
俺は今でもDしか書けない
0656デフォルトの名無しさん
2013/06/05(水) 13:17:15.40これより新しいプロジェクトってどこかにある?
0657デフォルトの名無しさん
2013/06/05(水) 17:14:19.47http://www.amazon.co.jp/dp/4798131105
0658デフォルトの名無しさん
2013/06/05(水) 19:21:21.43自分が言語とかフレームワークを設計するときに参考になる部分も多いと思うよ。
D言語関係なくおすすめ
http://dusers.dip.jp/modules/wiki/?Articles%2FTDPL%20-%20Concurrency%20in%20D
↑を見て興味があったら買えばいいんでね
0659デフォルトの名無しさん
2013/06/06(木) 07:31:49.36void func(Foo!T val) みたいな関数に Foo!S を明示的に変換しないで渡したいです。
0660デフォルトの名無しさん
2013/06/06(木) 14:40:57.56C++の暗黙の型変換みたいな事はたぶんできない。
funcをいじるか、明示的に変換してからfuncに渡すかしかないと思う。
0661デフォルトの名無しさん
2013/06/06(木) 21:33:43.79http://forum.dlang.org/thread/[email protected]
0662デフォルトの名無しさん
2013/06/07(金) 17:00:02.30ここを見ながらDでWin32APIを使おうとしているのですが
http://www.kmonos.net/alang/wnd/topics/winapi.ja.html
OPTLINK (R) for Win32 Release 8.00.8
Copyright (C) Digital Mars 1989-2010 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
test_main.obj(test_main)
Error 42: Symbol Undefined _D5win327winuser11WNDCLASSEXA6__initZ
--- errorlevel 1
というエラーがでてリンクできません
Bindings for the Windows API はこちらのもの
http://www.dsource.org/projects/bindings/wiki/WindowsApi
http://www.dsource.org/projects/bindings/browser/trunk
から
Zip Archive
をダウンロードしています
Dのバージョンは
Digital Mars D Compiler v2.050
です
0663デフォルトの名無しさん
2013/06/07(金) 17:07:57.00一緒にmakefile入ってるんで、mingw32-makeとか(たぶんDigitalMarsMakeじゃムリ)で
lib作ってtest_mainコンパイルする時に一緒に渡してあげればいい。
あと関係ないけどdmdは新しくしたほうがいい。
0664デフォルトの名無しさん
2013/06/07(金) 17:16:00.850665デフォルトの名無しさん
2013/06/07(金) 17:16:18.380666デフォルトの名無しさん
2013/06/07(金) 20:58:59.41win32apiのなかにビルド用のbatがあるはず
それ叩けばwin32.libができるからリンクすればOK
要するに「構造体の実態がないんですけど^^;」ってこと
0667デフォルトの名無しさん
2013/06/07(金) 21:29:11.81ころして自分で書いてしまうのがてっとり早かったりするけど
0668デフォルトの名無しさん
2013/06/07(金) 22:06:01.38import std.c.windows.windows;
だけでも Win32API は使えるみたいですが、
import win32.core;
import std.c.windows.windows;
とかすると、
二重定義?みたいなエラーになります。
std.c.windows.windows は、いらない子なんでしょうか?
なんで標準に余計なものがついてるんでしょう?
0669デフォルトの名無しさん
2013/06/07(金) 22:46:18.27むしろwin32.coreとか使ったことない
0670デフォルトの名無しさん
2013/06/07(金) 22:51:47.54以後スルーしてやってください
0671デフォルトの名無しさん
2013/06/07(金) 23:28:21.73は標準ライブラリとかで必要な最低限のやつが適当に書いてあるだけ
中途半端な上に干渉するから邪魔
0672デフォルトの名無しさん
2013/06/07(金) 23:33:50.070673デフォルトの名無しさん
2013/06/07(金) 23:34:22.01ソース見るとわかるけど、内部でcore.windowsをpublic importしてる
ランタイムがphobosに依存しないようにするためにそうなってて、どっち使ってもほとんど同じ
どのみちunicode関数が全然ないから自分で宣言してAPI叩いた方がいい
0674デフォルトの名無しさん
2013/06/07(金) 23:56:43.83>unicode関数が全然ない
Version条件指定で、Unicode指定しないからでしょ
0675デフォルトの名無しさん
2013/06/08(土) 14:46:49.30いつのまにphobosでW系関数がつかえるようになったのだ(・Д・;)
0676デフォルトの名無しさん
2013/06/08(土) 16:12:41.69dmd新しくしたら
test_main.d(145): Error: cannot implicitly convert expression (& WndProc) of typ
e extern (Windows) int function(void* wnd, uint msg, uint wp, int lp) to extern
(Windows) int function(void*, uint, uint, int) nothrow
ってエラーが出るようになりました
なので関数を
extern(Windows) LRESULT WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp) nothrow
{
略
}
って書き直したら今度は
test_main.d(106): Error: function test_main.WndProc 'WndProc' is nothrow yet may throw
って言われます
もう嫌です><
0677デフォルトの名無しさん
2013/06/08(土) 16:50:57.320678デフォルトの名無しさん
2013/06/08(土) 17:12:12.44まあ WndProcがnothrowに変わってウザいのは同意だけど
0679デフォルトの名無しさん
2013/06/08(土) 18:15:02.280680デフォルトの名無しさん
2013/06/08(土) 18:51:48.82相手側の都合を考慮しない乱暴な例外の巻き戻しが起こるんじゃないかな
0681デフォルトの名無しさん
2013/06/08(土) 19:05:23.62いつのまにphobosでW系関数がつかえるようになったのだ(・Д・;)
0682デフォルトの名無しさん
2013/06/08(土) 23:19:48.50ごめんwin32の話と勘違いしてた
0683デフォルトの名無しさん
2013/06/09(日) 13:21:51.61phobos ? のみ import std.c.windows.windows; だけの方で
W系の関数を自分で extern(Windows) でダラダラ書いていけば
Win32API を使えることは確認できました
しかし激しく面倒なので >671 さんのおっしゃるように phobos ? は無視して
import win32.core; で行くことにしたのですが
今度はコンパイルすら通らなくなってしまいました><
>676 と同じなのですが
>Bindings for the Windows API はこちらのもの
>http://www.dsource.org/projects/bindings/wiki/WindowsApi
>http://www.dsource.org/projects/bindings/browser/trunk
>から
↑
これ最新版ですよね?
dmd 2.063
にしてからは
test_main.d(107): Error: BeginPaint is not nothrow
test_main.d(108): Error: GetClientRect is not nothrow
test_main.d(109): Error: EndPaint is not nothrow
test_main.d(113): Error: PostQuitMessage is not nothrow
test_main.d(117): Error: DefWindowProcW is not nothrow
test_main.d(90): Error: function test_main.WndProc 'WndProc' is nothrow yet may throw
がいっぱい出てきて
余計に面倒になったのですが
Bindings for the Windows API の nothrow になってるやつはまだないんですか?
0684デフォルトの名無しさん
2013/06/09(日) 13:28:24.540685デフォルトの名無しさん
2013/06/09(日) 14:36:26.37逆にwndprocからnothrow外せばいいんじゃね
どのみち例外出たらアプリごと死ぬんだし
0686デフォルトの名無しさん
2013/06/09(日) 14:38:42.58{
略
}
とは別に
extern(Windows) LRESULT WndProcNoThrow(HWND wnd, UINT msg, WPARAM wp, LPARAM lp);
を宣言だけして
wc.lpfnWndProc = cast(typeof(WndProcNoThrow)*)&WndProc;
したらうまくいきました
ほんとうにありがとうございました
0687デフォルトの名無しさん
2013/06/09(日) 14:39:52.34間違いです
extern(Windows) LRESULT WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp)
{
略
}
とは別に
extern(Windows) LRESULT WndProcNoThrow(HWND wnd, UINT msg, WPARAM wp, LPARAM lp) nothrow;
を宣言だけして
wc.lpfnWndProc = cast(typeof(WndProcNoThrow)*)&WndProc;
したらうまくいきました
ほんとうにありがとうございました
0688デフォルトの名無しさん
2013/06/09(日) 14:40:48.70入れ違いになりました
すみません
0689デフォルトの名無しさん
2013/06/09(日) 16:54:21.010690デフォルトの名無しさん
2013/06/09(日) 19:31:54.87lib.exe で 既存の .lib ファイルに .obj を追加すると
.bak ファイルが作られてしまうのですが
これを抑制するのはどのオプションでしょうか?
0691デフォルトの名無しさん
2013/06/09(日) 20:10:03.690692デフォルトの名無しさん
2013/06/09(日) 23:22:56.570693デフォルトの名無しさん
2013/06/10(月) 04:21:31.960694デフォルトの名無しさん
2013/06/10(月) 09:11:21.510695デフォルトの名無しさん
2013/06/10(月) 11:11:54.19ありがとうございました
0696デフォルトの名無しさん
2013/06/10(月) 19:02:24.51Dを仕事で使いたいけど、踏み出せない
IDEがしょぼそうだし・・・
0697デフォルトの名無しさん
2013/06/10(月) 19:15:51.92今のDは参照カウンタ型じゃないよね。要るの?
0698デフォルトの名無しさん
2013/06/10(月) 19:19:17.64どこで勘違いしたんだ
0699デフォルトの名無しさん
2013/06/10(月) 19:32:56.04参照カウンタ型だと循環参照を解決できないから要るのだと思ってた
0700デフォルトの名無しさん
2013/06/10(月) 19:47:37.28↓コレを実装して組み込んでみるつもり
http://almond.cs.uec.ac.jp/papers/pdf/2011/fit2011_ozawa.pdf
0701デフォルトの名無しさん
2013/06/10(月) 23:51:13.80JavaとC#にできて、Dにできないという状況を受け入れるのだろうか?
0702デフォルトの名無しさん
2013/06/11(火) 00:19:13.70という方法は無理なのかな
0703デフォルトの名無しさん
2013/06/11(火) 00:32:14.860704デフォルトの名無しさん
2013/06/11(火) 00:39:54.36GCに回収されるように出来ても、後始末出来ないのじゃ駄目だな
0705デフォルトの名無しさん
2013/06/11(火) 01:55:13.650706デフォルトの名無しさん
2013/06/11(火) 02:01:26.510707デフォルトの名無しさん
2013/06/11(火) 04:03:16.810708デフォルトの名無しさん
2013/06/11(火) 04:57:12.180709デフォルトの名無しさん
2013/06/11(火) 07:38:28.460710デフォルトの名無しさん
2013/06/11(火) 08:21:39.420711デフォルトの名無しさん
2013/06/11(火) 14:04:10.730712デフォルトの名無しさん
2013/06/11(火) 15:05:05.840713デフォルトの名無しさん
2013/06/11(火) 15:30:27.85通常テンプレートは宣言の一部とか関数呼び出しの一部として使われるもの
0714デフォルトの名無しさん
2013/06/11(火) 15:33:59.48このサイトのサンプルで、
import std.datetime;
void main(string[] args){
auto currentTime = Clock.currTime();
auto timeString = currentTime.toISOExtendedString();
auto restoredTime = SysTime.fromISOExtendedString(timeString);
}
をコンパイルしようとすると、
Error: no property 'toISOExtendedString' for type 'SysTime'
Error: no property 'fromISOExtendedString' for type 'SysTime'
Error: SysTime is not an expression
って怒られます。
0715デフォルトの名無しさん
2013/06/11(火) 15:39:23.51ttp://www.kmonos.net/alang/d/changelog.html
The deprecated toISOExtendedString and fromISOExtendedString functions
in std.datetime have been removed. Please use toISOExtString and fromISOExtString instead.
The toISOExtendedString and fromISOExtendedString functions
on SysTime, Date, TimeOfDay, and DateTime in std.datetime have been deprecated.
Please use toISOExtString and fromISOExtString instead.
0716デフォルトの名無しさん
2013/06/11(火) 15:46:37.51ttp://dlang.org/phobos/std_datetime.html
さっさと治せや → ttp://www.kmonos.net/alang/d/phobos/std_datetime.html
0717デフォルトの名無しさん
2013/06/11(火) 15:52:49.14日本語サイトの更新はだいぶ滞っているので古いコンパイラ(2.052くらい)を使うか
該当する英語ページで確認するのが鉄則
0718デフォルトの名無しさん
2013/06/11(火) 16:12:13.670719デフォルトの名無しさん
2013/06/11(火) 16:27:03.40どうせ英語のまま掲載するなら
本家サイトにリンクしとけばいいのに
なに無駄なことしてんの
0720デフォルトの名無しさん
2013/06/11(火) 16:51:40.740721デフォルトの名無しさん
2013/06/11(火) 18:17:10.540722デフォルトの名無しさん
2013/06/11(火) 21:47:36.56横幅意識するとautoとtypedefが並びまくる。
プロはどう書いてるんだろう?とか思ってboostのソース開くと
気が遠くなっていつの間にか翌朝になってるorz
0723デフォルトの名無しさん
2013/06/11(火) 22:01:51.520724デフォルトの名無しさん
2013/06/11(火) 22:51:29.830725デフォルトの名無しさん
2013/06/12(水) 00:12:56.410726デフォルトの名無しさん
2013/06/12(水) 07:45:43.06率直な感想を言うと期待してたほど楽じゃなかった
確かにC/C++より先進的だしコードも綺麗だし
STLやBoost使うよりストレス溜まらないけど
まだまだ獣道どころか茨の道って感じがする
もっと高速道路みたいなのをイメージしてた
まあ環境揃ってくればそうなるんだろう
もうちょっと付き合ってみるよ
0727デフォルトの名無しさん
2013/06/12(水) 07:47:18.450728デフォルトの名無しさん
2013/06/12(水) 07:50:28.99ありがとうございました。
原因が判らず、import date; して見たり、 import core.time; して見たり、
色々無駄に時間を使ってしまいました。
>>717
そのようですね。
英語苦手ですけど、出来るだけ英語の方見るようにします。
0729デフォルトの名無しさん
2013/06/12(水) 07:55:51.26じゃなくて、
import std.date;
です。
0730デフォルトの名無しさん
2013/06/12(水) 07:57:12.49ここは、獣道や茨の道を歩むのが好きなひとの集まる板だと思います。
0731デフォルトの名無しさん
2013/06/12(水) 08:05:07.60日本語はこっち見た方が良いかも
http://dusers.dip.jp/
http://dusers.dip.jp/modules/wiki/?SampleCodes%2FPhobos%2F%E6%99%82%E9%96%93%E6%93%8D%E4%BD%9C
0732デフォルトの名無しさん
2013/06/12(水) 08:13:24.76そこは、ほら、
ビジネスチャンス(嘲)
ですよ。
0733デフォルトの名無しさん
2013/06/12(水) 11:24:21.29もう名前からしてググりにくいし、ググると互換のない新旧が混ぜこぜに出てくるし
しかも新しい情報ほど数が少ないし、日本語の情報に至っては・・・・・・
どこか一段落した時点でググりやすい名前に変えてほしいよ。
0734デフォルトの名無しさん
2013/06/12(水) 19:44:57.04Go「検索しづらいもんな」
F#「実際情報も少ないし」
0735デフォルトの名無しさん
2013/06/12(水) 19:47:28.150736デフォルトの名無しさん
2013/06/12(水) 21:16:54.41野良 sqlite3.d と sqlite3_bindings.d を拾って来てやっと読み書きでけた
もしかして bindings って放置プレイ中?
0737デフォルトの名無しさん
2013/06/12(水) 21:52:37.10D-lang
0738デフォルトの名無しさん
2013/06/12(水) 22:48:40.35どっちも使ったことないけど
0739デフォルトの名無しさん
2013/06/12(水) 23:20:59.000740デフォルトの名無しさん
2013/06/13(木) 07:21:40.95ありがとうございます
http://dlang.org/phobos/etc_c_sqlite3.html
ぱっと見ただけですが
C 用の API を D に置き換えただけっぽいですね
なんとなく取扱いが面倒そうです
ちなみに野良 sqlite3.d と sqlite3_bindings.d はこっちです
https://github.com/bayun/SQLite3-D
こちらはオブジェクト指向的な使いやすさを感じます
とりあえず後者でうまくいってるのでそのまま逝きます
機会があれば前者も試してみたいと思います
0741デフォルトの名無しさん
2013/06/13(木) 14:36:01.71コンパイルが(基本的には)通ること……。
0742デフォルトの名無しさん
2013/06/13(木) 19:18:52.750743デフォルトの名無しさん
2013/06/13(木) 21:01:53.75完全放置はされないことくらいは期待できる。
0744デフォルトの名無しさん
2013/06/13(木) 22:30:17.060745デフォルトの名無しさん
2013/06/13(木) 23:27:13.55その次で新モジュールに置き換わっている
0746デフォルトの名無しさん
2013/06/14(金) 00:45:09.34サードパーティなら完全放置と割り切って
さっさと見切って自分で修正すればいいけど
公式だと対応してくれる気がするのが却って良くない
はっきり言ってDの場合はそれが仇になる
0747デフォルトの名無しさん
2013/06/14(金) 18:30:00.48ループ内のコードをSSE使うインラインアセンブラに書き換えるプリプロセッサ作ってたけどフロントエンドの最実装になって不毛だ
0748デフォルトの名無しさん
2013/06/15(土) 00:33:51.79C++に比べ、Dが楽じゃない所ってなんだろう?
C++のあのクソさよりもDがクソな点・・・なんだろう?
0749デフォルトの名無しさん
2013/06/15(土) 01:07:36.570750デフォルトの名無しさん
2013/06/15(土) 01:51:40.670751デフォルトの名無しさん
2013/06/15(土) 02:02:30.120752デフォルトの名無しさん
2013/06/15(土) 03:37:09.210753デフォルトの名無しさん
2013/06/15(土) 07:45:26.370754デフォルトの名無しさん
2013/06/15(土) 08:33:45.19ライブラリの不備とかバグとか
日本語ドキュメントがいい加減とか
GUIフレームワークのインストールが面倒とか
0755デフォルトの名無しさん
2013/06/15(土) 11:32:08.20日本語ドキュメントは一人でやるのがそもそも限界だったんやろな…
すげぇお世話になったけど最近見てないな
0756デフォルトの名無しさん
2013/06/15(土) 12:22:39.440757デフォルトの名無しさん
2013/06/15(土) 12:45:54.76disりたいお年頃なんです
0758デフォルトの名無しさん
2013/06/15(土) 12:52:16.66http://dlang.org/phobos/std_net_curl.html
string content = get("dlang.org");
↓このままだと
test_main.d(LINEno): Error: cannot implicitly convert expression (get(cast(const(char)[])"dlang.org", AutoProtocol())) of type char[] to string
src\phobos\std\range.d(611): Error: static assert "Cannot put a const(dchar) into a Appender!(char[])"
src\phobos\std\format.d(2160): instantiated from here: put!(Appender!(char[]), const(dchar))
src\phobos\std\format.d(2207): instantiated from here: formatChar!(Appender!(char[]))
src\phobos\std\typecons.d(581): instantiated from here: formatElement!(Appender!(string), char[], char)
src\phobos\std\net\curl.d(1873): ... (4 instantiations, -v to show) ...
src\phobos\std\net\curl.d(374): instantiated from here: get!(FTP, char)
test_main.d(LINEno): instantiated from here: get!(AutoProtocol, char)
我慢出来るひとはマゾだと思う
0759デフォルトの名無しさん
2013/06/15(土) 12:58:23.18string content = cast(string)get("dlang.org");
で解決してます
0760デフォルトの名無しさん
2013/06/15(土) 13:06:50.860761デフォルトの名無しさん
2013/06/15(土) 13:11:34.270762デフォルトの名無しさん
2013/06/15(土) 13:36:04.07でいけました
ほんとうにありがとうございました
0763デフォルトの名無しさん
2013/06/15(土) 14:07:49.11でよくね?
0764デフォルトの名無しさん
2013/06/15(土) 14:54:41.640765デフォルトの名無しさん
2013/06/15(土) 15:31:42.680766デフォルトの名無しさん
2013/06/15(土) 15:57:10.590767デフォルトの名無しさん
2013/06/15(土) 16:05:36.56どれが一番マシですか?
ここで質問して答えがもらえるのを教えてください
0768デフォルトの名無しさん
2013/06/15(土) 16:14:17.52ちなみにC言語の後継のひとつにD言語があるが、このサイトではマイナー言語にすら取り上げられないほど超マイナーな存在である。
0769デフォルトの名無しさん
2013/06/15(土) 16:17:45.77GUIフレームワークの不出来のせいだと思う
0770デフォルトの名無しさん
2013/06/15(土) 16:45:09.55OS標準と見た目が違うのと超重量DLLとか同梱しまくるのに我慢できる→GtkD
JavaっぽいAPIと実行ファイルが重量級になるのに我慢できる→DWT
0771デフォルトの名無しさん
2013/06/15(土) 16:45:44.43Windows限定と若干の機能不足に我慢できる→DFL
を忘れてた
0772デフォルトの名無しさん
2013/06/15(土) 16:57:34.640773デフォルトの名無しさん
2013/06/15(土) 17:13:05.100774デフォルトの名無しさん
2013/06/15(土) 18:00:10.490775デフォルトの名無しさん
2013/06/15(土) 18:02:39.29wx\common.d(79): Deprecation: use of typedef is deprecated; use alias instead
wx\Event.d(37): Deprecation: use of typedef is deprecated; use alias instead
wx\Event.d(37): Deprecation: use of typedef is deprecated; use alias instead
wx\Log.d(57): Error: module stdarg is in file 'std\stdarg.d' which cannot be read
やっぱりだめか
dmd v2.063 にしたのが間違いだったか
0776デフォルトの名無しさん
2013/06/15(土) 18:13:47.49Deprecate typedef
0777デフォルトの名無しさん
2013/06/15(土) 18:15:32.00氏んだとみなすべきかもしれない
0778デフォルトの名無しさん
2013/06/15(土) 18:21:28.19良く何年も付き合って来たな
ほんとにマゾかも試練
0779デフォルトの名無しさん
2013/06/15(土) 18:23:32.99https://github.com/afb/wxd
0780デフォルトの名無しさん
2013/06/15(土) 18:24:29.430781デフォルトの名無しさん
2013/06/15(土) 18:27:05.210782デフォルトの名無しさん
2013/06/15(土) 18:31:19.800783デフォルトの名無しさん
2013/06/15(土) 19:43:14.78やったじゃん
頑張って対応してpullを送れば無駄にならない
0784デフォルトの名無しさん
2013/06/15(土) 19:59:22.56wx\common.d(79): Deprecation: use of typedef is deprecated; use alias instead
wx\Event.d(37): Deprecation: use of typedef is deprecated; use alias instead
wx\Event.d(37): Deprecation: use of typedef is deprecated; use alias instead
この二件は typedef を alias に置き換えるだけで解決
wx\Log.d(57): Error: module stdarg is in file 'std\stdarg.d' which cannot be read
なぜか上を解決したらこの行は出なくなった
ところが今度は
wx\DbGrid.d(148): Error: undefined identifier DataSet, did you mean function dataSet?
wx\DbGrid.d(201): Error: undefined identifier DataSet, did you mean function dataSet?
wx\DbGrid.d(202): Error: undefined identifier DataSet, did you mean function dataSet?
wx\DbGrid.d(382): Error: undefined identifier DataRow
なんでだろ〜
0785デフォルトの名無しさん
2013/06/15(土) 20:17:52.92が出なくなった理由は
>>775 のときの wxd (wxd-016) の source を使うのをやめて捨てて
>>779 (wxd-016-afb) のを fork し直したのが原因だった
何かが違うらしい orz
0786デフォルトの名無しさん
2013/06/15(土) 20:25:01.800787デフォルトの名無しさん
2013/06/15(土) 22:01:35.360788デフォルトの名無しさん
2013/06/15(土) 22:13:18.05エラー出て解決方法不明のコントロールはlibに追加しないで
wxd.lib再構築したらうまくいった
自分で使う分にはこれで良いのでpullは送らずに自己満足しておきます
0789デフォルトの名無しさん
2013/06/15(土) 22:13:50.95core.exception.InvalidMemoryOperationError
って出て終了するな・・・
0790デフォルトの名無しさん
2013/06/15(土) 22:45:15.850791デフォルトの名無しさん
2013/06/15(土) 22:59:43.78まあpull request送るのが最適だと思うけど
0792デフォルトの名無しさん
2013/06/15(土) 23:32:00.670793デフォルトの名無しさん
2013/06/16(日) 00:52:26.01もしかしてwxDってstaticlinkのみ?
0794デフォルトの名無しさん
2013/06/16(日) 02:33:41.110795デフォルトの名無しさん
2013/06/16(日) 08:28:14.180796デフォルトの名無しさん
2013/06/16(日) 09:27:24.22リソースの破棄を自前でやるべきところを忘れているせい
0797デフォルトの名無しさん
2013/06/16(日) 11:03:35.74使わなければいいのに
どっから来たんだこいつら
0798デフォルトの名無しさん
2013/06/16(日) 11:28:55.580799デフォルトの名無しさん
2013/06/16(日) 12:35:34.12DbGrid.d ていうのはメイクファイルから除外するのが正解っぽい
しかしメイクファイルに該当する定義ファイルが無駄にたくさんあって
対策されてる奴とされてない奴が混じってる これはひどい
0800デフォルトの名無しさん
2013/06/16(日) 13:16:46.43本が出たりFacebookでカンファレンス開催されたり普及の兆しが見え始めたからね
MS・Apple・Googleが揃ってしまった分野でのマイナー製品スレは何故か荒れていく法則(例:ブラウザ)
0801デフォルトの名無しさん
2013/06/16(日) 13:48:06.570802デフォルトの名無しさん
2013/06/16(日) 15:03:06.410803デフォルトの名無しさん
2013/06/16(日) 17:03:26.60app.cppにバグがあるという情報が見つかりました
0804デフォルトの名無しさん
2013/06/16(日) 19:40:58.69やっぱりGUIライブラリなのかな・・・
0805デフォルトの名無しさん
2013/06/16(日) 19:50:47.260806デフォルトの名無しさん
2013/06/16(日) 20:10:14.91wxは本来C++のフレームワークなのに
テンプレやインターフェースに互換性ないから
わざわざCのwrapper経由して接続してるのね
0807デフォルトの名無しさん
2013/06/16(日) 21:17:12.65全部Dで書かれてるからいいよ
ちょっとバイナリが3MB超えるくらい安いもの
0808デフォルトの名無しさん
2013/06/16(日) 21:54:05.580809デフォルトの名無しさん
2013/06/16(日) 22:02:23.140810デフォルトの名無しさん
2013/06/16(日) 22:07:27.320811デフォルトの名無しさん
2013/06/16(日) 22:12:53.58githubに移ってる
https://github.com/d-widget-toolkit/dwt
0812デフォルトの名無しさん
2013/06/17(月) 08:02:21.11人柱になれということ?
0813デフォルトの名無しさん
2013/06/17(月) 10:26:55.71人木生
0814デフォルトの名無しさん
2013/06/17(月) 14:28:17.05extern(Windows) UINT function(LPSTR, LPSTR, UINT) HogeFunc;
という関数があるとして、テンプレートを使って、
template TProcAddr(T) {
T get(HINSTANCE hmodule, string funcname){
T func = cast(T)GetProcAddress(hmodule, funcname.toMBSz());
if(!func) throw new Exception(funcname);
return func;
}
}
HogeFunc = TProcAddr!(typeof(HogeFunc)).get(hmodule, "HogeFunc");
と出来ることはわかったのですが、かなり冗長な気がするので、
T getProcAddr(T)(HINSTANCE hmodule, string funcname){
T func = cast(T)GetProcAddress(hmodule, funcname.toMBSz());
if(!func) throw new Exception(funcname);
return func;
}
HogeFunc = getProcAddr(hmodule, "HogeFunc");
と書こうとしたら、コンパイルエラーになりました。
bool SetProcAddress(T)(T *func, HINSTANCE hmodule, string funcname){
*func = cast(T)GetProcAddress(hmodule, funcname.toMBSz());
if(!*func) throw new Exception(funcname);
return true;
}
SetProcAddress(&HogeFunc, hmodule, "HogeFunc");
だと、コンパイル出来ます。
getProcAddrの方法は無理(型情報が確定してても戻り値の型では型推論出来ない?)なのでしょうか?
あと、ついでに、
SetProcAddress(HogeFunc, hmodule);
または、
HogeFunc = getProcAddr(hmodule);
と書ける方法もあったら教えてください。
0815デフォルトの名無しさん
2013/06/17(月) 19:52:21.78いつから使ってないと錯覚していた?
DWTはWindowsだと安定してるけどlinuxは何かしようとするとバグ踏んだりする
DFLは日本人がforkしたやつが十分安定して使えてたけどそれも数ヶ月前の話だから今はわからない
QtDは数年前に使ってたけどかなり不安定でいつの間にかコンパイルもできなくなってた
wxDは何年も前に安定して使えてたけど今やforkしたやつもコンパイルできない
GtkDはGTKが気に食わなくて使ってないけど一番開発頑張ってそう
基本Windowsの話です
0816デフォルトの名無しさん
2013/06/17(月) 20:09:12.830817デフォルトの名無しさん
2013/06/17(月) 20:27:30.23コンパイラ側の変更でコンパイルできなくなる
つまりコンパイラと一緒に全力疾走しないライブラリは即置いてかれるのがDの世界
0818デフォルトの名無しさん
2013/06/17(月) 20:35:08.51ライブラリ側の人は悉く疲れてるんですか
0819デフォルトの名無しさん
2013/06/17(月) 21:04:32.54HogeFuncをref引数とかにしたら型推論効かないかなあ
>>818
最近破壊的変更が少なくてマシになったと聞いた
0820デフォルトの名無しさん
2013/06/17(月) 21:18:45.43一応出来た気がするけど、extern(Windows)を付けたときに動きが変わって慌てた
リンケージで間違うと実行時にワケワカメになるからよく確かめてほしい
extern(Windows)
auto getAddressT(R, P... )( R function(P) fn, HINSTANCE hModule, string func)
{ return cast(typeof(fn)) GetProcAddress(hModule, func); }
auto getAddress(string name)(HINSTANCE hModule)
{ return getAddressT(mixin(name), hModule, name); }
...
auto func = getAddress!"HogeFunc"(hModule);
0821デフォルトの名無しさん
2013/06/17(月) 22:19:49.420822デフォルトの名無しさん
2013/06/18(火) 00:27:14.220823デフォルトの名無しさん
2013/06/18(火) 01:31:52.000824デフォルトの名無しさん
2013/06/18(火) 03:23:07.72戻り値の型に関してはかなりルーズな言語なんですか
0825デフォルトの名無しさん
2013/06/18(火) 04:32:52.81auto HogeFunc = getAddress!"HogeFunc"(hModule);
と HogeFunc 二回書くのがアレなので、
extern(Windows)
auto setAddressT(R, P... )(ref R function(P) fn, HINSTANCE hModule, string func)
{ return fn = cast(typeof(fn)) GetProcAddress(hModule, func); }
auto setAddress(string name)(HINSTANCE hModule)
{ return setAddressT(mixin(name), hModule, name); }
してみたら、
setAddress!"HogeFunc"(hModule);
で、うまくいったでござるよ。
0826デフォルトの名無しさん
2013/06/18(火) 07:50:53.970827デフォルトの名無しさん
2013/06/18(火) 09:57:22.670828デフォルトの名無しさん
2013/06/18(火) 10:10:09.480829デフォルトの名無しさん
2013/06/18(火) 11:34:30.740830デフォルトの名無しさん
2013/06/18(火) 12:10:24.42やってみました。
auto SetProcAddress(string F)(HINSTANCE hmodule){
auto func = cast(typeof(mixin(F)))GetProcAddress(hmodule, F.toMBSz());
if(!func) throw new Exception(F);
return func;
}
SetProcAddress!"HogeFunc"(hmodule);
extern(C) とか extern(Pascal) とか気にせず、コンパイルは通るものの、実行すると、
Access Violation
になります。
たぶん、 >>820 さんのおっしゃってる、
リンケージで間違うと実行時に昆布の状態だと思います。
0831デフォルトの名無しさん
2013/06/18(火) 12:16:17.620832デフォルトの名無しさん
2013/06/18(火) 12:20:12.34auto SetProcAddress(string F)(HINSTANCE hmodule){
mixin(F) = cast(typeof(mixin(F)))GetProcAddress(hmodule, F.toMBSz());
if(!mixin(F)) throw new Exception(F);
return mixin(F);
}
SetProcAddress!"HogeFunc"(hmodule);
で、うまくいきました。
ほんとうにありがとうございました。
0833デフォルトの名無しさん
2013/06/18(火) 12:38:17.920834デフォルトの名無しさん
2013/06/18(火) 13:19:51.690835デフォルトの名無しさん
2013/06/18(火) 13:21:26.19区別しようね
0836デフォルトの名無しさん
2013/06/18(火) 19:31:18.47入れてみたけど__VERSION__が変わらない件
0837デフォルトの名無しさん
2013/06/18(火) 21:15:28.970838デフォルトの名無しさん
2013/06/18(火) 22:19:20.980839デフォルトの名無しさん
2013/06/18(火) 23:26:08.06条件コンパイルで使うためのもの
今回はバグ修正しかないから変える必要なし
0840デフォルトの名無しさん
2013/06/20(木) 02:01:19.97this(int n){}
}
auto c = new class C{
this(int n){super(n);}
void f(){}
}(10); // だめ
無名で継承したクラスのコンストラクタに引数を渡したい場合の書き方ってどうでしたっけ
0841デフォルトの名無しさん
2013/06/20(木) 02:07:49.12this(int n){super(n);}
void f(){}
})(10);
0842デフォルトの名無しさん
2013/06/20(木) 02:08:57.33http://dlang.org/class.html#NewAnonClassExpression
0843デフォルトの名無しさん
2013/06/20(木) 19:30:01.000844デフォルトの名無しさん
2013/06/20(木) 19:39:27.66https://github.com/D-Programming-Deimos/ncurses
https://github.com/msoucy/dncurses
0845デフォルトの名無しさん
2013/06/20(木) 20:01:39.250846デフォルトの名無しさん
2013/06/20(木) 21:37:05.21なにこのなに・・・
auto c = new class(10) C{
this(int n){super(n);}
void f(){}
};
0847デフォルトの名無しさん
2013/06/20(木) 22:06:36.380848デフォルトの名無しさん
2013/06/20(木) 22:29:30.31うるさいから近づきたくないけど
0849デフォルトの名無しさん
2013/06/22(土) 11:17:22.12import std.stdio;
void main() {
foreach (i; 0..5) {
writeln(i);
scope array = new ubyte[500_000_000];
}
}
$ rdmd test.d
0
1
2
core.exception.OutOfMemoryError
これGCさんはどういう仕事してんの?(win7/ubuntu)
0850デフォルトの名無しさん
2013/06/22(土) 11:25:04.75話のわかるやつだ
0851デフォルトの名無しさん
2013/06/22(土) 11:59:19.44俺の頭がおかしくなったのかも知れないけど何でscopeで配列を宣言してるの?
ちなみに2.063.2@Mac(16GB)で何の問題も無く実行出来たぞ
本当にメモリが足りなくてC#は足りなくなった瞬間に古いのを捨ててるだけじゃねえよな
0852デフォルトの名無しさん
2013/06/22(土) 12:09:58.41デカすぎるメモリブロックはあえてGC対象外にされてた気がする
理由はPreciseGCじゃないと無駄だから↓
http://d.puremagic.com/issues/show_bug.cgi?id=9094
4Gに近づくとヤバいって言ってるから 64bitなら通るのかな?
0853デフォルトの名無しさん
2013/06/22(土) 12:57:13.270854デフォルトの名無しさん
2013/06/22(土) 13:37:37.31ああごめん
scopeじゃなくても駄目だったんだけど試しにscopeにしてみたのがそのまんまだった
>>852
今は仕様なのか…ライブラリの中とかで確保されたら詰むなぁ、というかstd.zipで詰んだ
まあ処理系の問題ならまともに動かなくても許してもらえるだろう
ありがとうございます
0855デフォルトの名無しさん
2013/06/22(土) 14:09:29.74scope(exit)delete array;
0856デフォルトの名無しさん
2013/06/22(土) 14:13:47.83あれ、普通に効いた
自分のプログラムだとなんか効果が無かったから駄目なのかと思ってた
何か間違えてるっぽいな…
これならなんとかできそうです。ありがとう
0857デフォルトの名無しさん
2013/06/22(土) 14:18:18.400858デフォルトの名無しさん
2013/06/22(土) 14:32:04.580859デフォルトの名無しさん
2013/06/23(日) 14:01:35.350860デフォルトの名無しさん
2013/06/23(日) 17:38:20.33File f = File("日本語.txt");
scope(exit) f.close();
を実行すると、
std.exception.ErrnoException@std\stdio.d(325):
Cannot open file `日本語.txt' in mode `rb' (Invalid argument)
ってなります。
D言語は日本語をサポートしていないのでしょうか?
0861デフォルトの名無しさん
2013/06/23(日) 17:38:57.330862デフォルトの名無しさん
2013/06/23(日) 17:47:21.70std.stdio.File が日本語ファイル対応した...と見せかけて DigitalMars の _wfopen が日本語対応してないやん!->付属の msvcrt.lib をリンクして下さい。
std.stdio ってなんで日本語ファイル名あかんの?
0863デフォルトの名無しさん
2013/06/23(日) 17:49:05.220864デフォルトの名無しさん
2013/06/23(日) 17:50:28.40ダメポorz
0865デフォルトの名無しさん
2013/06/23(日) 17:51:53.26ttp://d.hatena.ne.jp/haru-s/20050403/1112466536
0866デフォルトの名無しさん
2013/06/23(日) 17:59:06.220867デフォルトの名無しさん
2013/06/23(日) 17:59:13.73std.stream.File 試してみました。
>>860 のコードは最小限で、実際は、
foreach(ubyte[] buffer; chunks(f, bufsize)) md5.update(buffer);
みたいな処理が中にあるのですが、
std.stream.File の方を使うと、
Error: constructor std.stdio.chunks.this (File f, uint size) is not callable using argument types (File, const(uint))
ってなります。
たぶん前者の File f と後者の File が違うんでしょうけど、
std.stream.File で chunks(f, size) や File(filename).byChunk(size) 的なことは可能でしょうか?
条件後出しすみません。
0868デフォルトの名無しさん
2013/06/23(日) 18:00:24.82サポートしていません
というかウォルタソは昔から(ry
0869デフォルトの名無しさん
2013/06/23(日) 18:11:45.49auto buffer = new ubyte[bufsize];
size_t n;
while ((n = f.read(buffer)) > 0) md5.update(buffer[0 .. n]);
こんな感じでよければ・・・
0870デフォルトの名無しさん
2013/06/23(日) 19:27:49.220871デフォルトの名無しさん
2013/06/23(日) 19:54:33.03釣りだと思うけどD2が出る前の記事貼り付けて何がしたいの?
0872デフォルトの名無しさん
2013/06/23(日) 20:48:16.590873デフォルトの名無しさん
2013/06/23(日) 21:04:22.610874デフォルトの名無しさん
2013/06/23(日) 21:07:59.900875デフォルトの名無しさん
2013/06/23(日) 21:18:57.790876デフォルトの名無しさん
2013/06/23(日) 21:36:59.280877デフォルトの名無しさん
2013/06/23(日) 21:40:02.97/ `ヽ. お薬増やしておきますねー
__/ ┃)) __i | お大事ぬ
/ ヽ,,⌒)___(,,ノ\
0878デフォルトの名無しさん
2013/06/24(月) 01:43:41.66どうして何もしないで文句ばっかり言うんだろう
どうして他にも言語たくさんあるのになんでわざわざD言語に固執して文句いうの?
twitterとかでD言語使えばかっこいいとか変なイメージが付いてるせい?
D言語で書きましたって言いたいだけなんじゃないの?
そういう人たちには僕らがなぜD言語が好きかは一生理解できないと思う
本当に悲しい
0879デフォルトの名無しさん
2013/06/24(月) 03:27:50.94878のレスはD言語使っている自分から見ても少々気持ち悪い
0880デフォルトの名無しさん
2013/06/24(月) 04:43:54.750881デフォルトの名無しさん
2013/06/24(月) 05:42:09.05目処が立ちました。ありがとうございます。
関連する内容で2点疑問が出てきました。
File f = new File(filename);
scope(exit) f.close();
とするより、
BufferedFile f = new BufferedFile(filename, FileMode.In, bufsiz);
scope(exit) f.close();
とした方が良い気がしたのですが、後者の方がむしろ遅くなるということはありますか?
あと、別のコンストラクタを使って、
BufferedFile f = new BufferedFile(new File(filename), bufsiz);
scope(exit) f.close();
とも書けるようですが、この場合、new File(filename) で確保した方のオブジェクトは、
明示的に解放しなくても問題無いでしょうか?それとも、
File f = new File(filename);
scope(exit) f.close();
BufferedFile bf = new BufferedFile(f, bufsiz);
scope(exit) bf.close();
みたいな書き方にする必要があるのでしょうか?
0882デフォルトの名無しさん
2013/06/24(月) 08:36:26.76しかもCommonType!(int*, void*)だとint*になるしvoid*ってどう思われてるんだろう
0883デフォルトの名無しさん
2013/06/24(月) 19:45:50.54Javaは好きですか?
0884デフォルトの名無しさん
2013/06/24(月) 22:23:52.60D言語オワタ\(^o^)/
0885デフォルトの名無しさん
2013/06/24(月) 22:26:57.34釣られないぞ
0886デフォルトの名無しさん
2013/06/25(火) 00:21:17.330887デフォルトの名無しさん
2013/06/25(火) 00:37:42.41https://docs.google.com/document/d/1TrfHwpEHJ4c64owYY75MrQsULS8FecUC8dt-FzR8UkQ
0888デフォルトの名無しさん
2013/06/25(火) 01:46:51.66名前は何がいいだろうか
import **.window;
みたいな具合になるのであまり長くないと基地
0889デフォルトの名無しさん
2013/06/25(火) 02:31:16.770890デフォルトの名無しさん
2013/06/25(火) 03:17:33.780891デフォルトの名無しさん
2013/06/25(火) 06:08:16.840892デフォルトの名無しさん
2013/06/25(火) 08:36:58.980893デフォルトの名無しさん
2013/06/25(火) 10:56:52.750894デフォルトの名無しさん
2013/06/25(火) 11:01:56.34passport
MPGUIW
GUIMIX
貧弱ぅ〜貧弱ぅ〜。
いい名前思いつかないなー。
0895デフォルトの名無しさん
2013/06/25(火) 11:08:05.000896デフォルトの名無しさん
2013/06/25(火) 11:10:02.290897デフォルトの名無しさん
2013/06/25(火) 11:19:41.86なんか好きな物の名前付ければいいんじゃないかな
だからと言って>>893みたいなのにすると使う人が減っちゃうから欲望は抑え目にな
おっぱいとかぱんつくらいならセーフかな
0898デフォルトの名無しさん
2013/06/25(火) 11:25:52.42これでおながいします
0899デフォルトの名無しさん
2013/06/25(火) 11:34:01.25素敵です。
0900デフォルトの名無しさん
2013/06/25(火) 11:41:03.910901デフォルトの名無しさん
2013/06/25(火) 12:16:49.730902デフォルトの名無しさん
2013/06/25(火) 12:21:06.99ある程度汎用なのがいいよって書いてあった。
0903デフォルトの名無しさん
2013/06/25(火) 12:30:20.530904デフォルトの名無しさん
2013/06/25(火) 12:36:00.34GTKが入ってるとアウトかなぁ・・・。
0905デフォルトの名無しさん
2013/06/25(火) 12:41:50.770906デフォルトの名無しさん
2013/06/25(火) 13:11:43.330907デフォルトの名無しさん
2013/06/25(火) 13:20:18.850908デフォルトの名無しさん
2013/06/25(火) 13:56:36.160909デフォルトの名無しさん
2013/06/25(火) 14:01:55.680910デフォルトの名無しさん
2013/06/25(火) 14:04:04.820911デフォルトの名無しさん
2013/06/25(火) 16:12:44.270912デフォルトの名無しさん
2013/06/25(火) 16:15:49.180913デフォルトの名無しさん
2013/06/25(火) 17:49:41.630914デフォルトの名無しさん
2013/06/25(火) 17:52:41.640915デフォルトの名無しさん
2013/06/25(火) 17:56:47.450916デフォルトの名無しさん
2013/06/25(火) 18:02:02.81ム板にほとんど残っていないのは
まことに残念な事であるなあ
0917デフォルトの名無しさん
2013/06/25(火) 18:02:43.020918デフォルトの名無しさん
2013/06/25(火) 18:06:26.780919デフォルトの名無しさん
2013/06/25(火) 18:29:44.022chGLとかだめかな?w
ところでなぜOSXには対応させないんだぜ
せっかくつくるなら直感的に使えつつ長ったらしい記述が要らないライブラリにしてほしい
auto w = new Window("hoge");
w.title = "fuga"; //これで窓のタイトルが変わる
w.pos = [100, 200]; //これで窓の位置が変わる
みたいな具合に使えるといいな
0920デフォルトの名無しさん
2013/06/25(火) 18:36:55.840921デフォルトの名無しさん
2013/06/25(火) 18:39:02.910922デフォルトの名無しさん
2013/06/25(火) 19:40:38.94誰かファビョったか
0923デフォルトの名無しさん
2013/06/25(火) 19:50:15.23ただの大喜利大会
0924デフォルトの名無しさん
2013/06/25(火) 21:18:39.90public import favorite.eat, favorite.drink;
0925デフォルトの名無しさん
2013/06/25(火) 22:01:30.640926デフォルトの名無しさん
2013/06/25(火) 22:26:21.930927デフォルトの名無しさん
2013/06/25(火) 22:52:52.400928デフォルトの名無しさん
2013/06/25(火) 22:52:14.130929デフォルトの名無しさん
2013/06/25(火) 22:53:41.350930デフォルトの名無しさん
2013/06/25(火) 22:54:34.070931デフォルトの名無しさん
2013/06/25(火) 22:54:44.520932デフォルトの名無しさん
2013/06/25(火) 23:06:22.690933デフォルトの名無しさん
2013/06/26(水) 08:15:57.41uix
0934デフォルトの名無しさん
2013/06/26(水) 12:08:39.20具体的にどんな感じがいいだろうか
Dらしく無駄なく書きたいし
HelloWorldか
>>919みたいな擬似サンプルがほしい
0935デフォルトの名無しさん
2013/06/26(水) 13:24:29.020936デフォルトの名無しさん
2013/06/26(水) 21:13:54.49DFLメンテしてよ
0937デフォルトの名無しさん
2013/06/26(水) 23:28:32.110938デフォルトの名無しさん
2013/06/26(水) 23:32:01.860939デフォルトの名無しさん
2013/06/26(水) 23:32:41.650940デフォルトの名無しさん
2013/06/27(木) 11:50:20.390941デフォルトの名無しさん
2013/06/29(土) 00:01:40.42惜しくも会場へ行けなかった諸氏は目を通しておくがよいよいよい
http://www.youtube.com/channel/UCzYzlIaxNosNLAueoQaQYXw
0942デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANなんかリンクエラーになるんだけど
struct Hoge(T) {void hoge() {}}
T fuga(T:Hoge!int)() { return T(); }
void main()
{
Hoge!int h;
h.hoge();
}
0943デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANたぶんバグ
git head では再現しない
ちなみに -inline をつけたら回避できるかも
0944デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANあなたが神か
dmd2.063.2では-inlineで回避できた
headで直っているということなので次のリリースをのんびり待ちます
0945デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANvoid main() {
shared S a;
S b;
b = a;
}
Error: cannot implicitly convert expression (a) of type shared(S) to S
(´・ω・`)
0946デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANすまん何がおかしいのかわからん解説しておくれ
ごく正常な動作に見える
0947デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANとかだと通る。
struct S { int[1] a; }
とメモリ上は同じなのに・・・
そもそもどっちも通っちゃいけないものなのか?
0948デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANstruct S { int a; }が通るってことはメンバが全部値渡しの場合はちゃんとsharedから除外されてるのか
で、静的配列も値渡しだからsharedが効くのはおかしいと
なるほど確かに矛盾してるな
0949デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANテンプレのDerelictの公式からDerelict3のmaster.zip落したんだけどbuidすると途中でエラーになる。
どうも、importのフォルダ名は全部小文字なのに、build中にSDL2だけファイルパス指定に大文字を
使ってるせいでfile not foundな例外が出てるっぽい。検索したら似たような内容のブログ記事もあった。
ダメもとでimport内に大文字の「SDL2」ってフォルダ作ってからbuildしてみたら、なんかbuild成功しちゃう。
でも、実際それを使ってみると動的ライブラリのロード時にエラーでまくりでコンパイルできねぇ。
ちゃんとDerelictUtil と DerelictSDL2 と 本物のSDL2の動的ライブラリリンクしてるんだけど・・・
windows以外でDerelict3使えてるひと居ますか?
0950デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANなんかパッと見Macだとderelict.sdl2.sdl.dの中で実行時にロードするライブラリ名を
/usr/local/lib/libSDL2.dylib ... みたいな感じでフルに指定してるっぽいので
ロードしくるならそこ直してないのに原因があるかもしれない。
あと自分でライブラリリンクするんじゃなくて、DerelictSDL2Loader.loadが
実行時動的に上記で指定してるライブラリを読むのでその辺も一応。
(まあごめん、Windowsの話だけど)
0951デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANおお、サンクス!
>あと自分でライブラリリンクするんじゃなくて〜
そーだよね! これはやばい恥ずかしい書き方してしまった・・・。
もうちょい粘ってみます
0952デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANコンパイルはDerelictSDL2だけをインポートしてlibDerelictUtil.aとlibDerelictSDL2.aだけリンクすれば出来るはず
俺の手元にある去年のDerelict3だとsdl2は小文字でインポートされてるので今年になってからのエンバグっぽい
0953デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0954デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN公式のスタイルガイドにもそう書いてある
0955デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN火星「月の出」を動画で見る
http://wired.jp/2013/07/10/curiosity-rover-shoots-video-of-martian-moonrise/
火星の地平線に衛星フォボスが上る「月の出」をNASAが公開した。
キュリオシティが撮影した静止画像からつくられたものだ。
0956デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANありがとう!ガッツリ書かれてましたね
>>949の問題は
build.d 中でパス指定がSDL2だけ大文字の 「SDL2」 になっているところを
「sdl2」 に勝手に変えてコンパイル→buildしてもOKだったけど不安すぎる・・・
それにやっぱり実際にコード中で
import derelict.sdl2.sdl;
とやるだけでエラーがでますね
だけど、/usr/local/lib に動的ライブラリが存在しようがしまいが
同じエラーログがでるんで、やっぱ俺の指定の仕方が悪いんだろうと思います
もうちょいがんばります
0957デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0958デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0959デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANそこは大丈夫です!
>>957
コンパイルエラーですね
まだD言語のstaticコンストラクタや、エラーの読み方が理解できてないので憶測になりますが
どうもutil.loder周辺が走るくらいのところで「定義されていない参照です」と出るようです
それどころか、他のライブラリで試してみてもSDLの時と同じエラーが出るので
utilの周辺を眺めているところです
0960>>959
2013/07/11(木) NY:AN:NY.ANわたくしめがlibdl.aへのリンクを忘れていただけのことでした
お騒がせとスレ汚しすみませんでした。(何よりライブラリ側疑ってほんともうしわけなかった・・・)
色々と答えてくれた方々ほんとうにありがとうございました
0961デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0962デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN罰として最初から整理し直して再報告
0963デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANごめんなさい、昨日のうちにレスしようと思ったら
行数制限ひっかかりまくってさるさん食らってました
文字数と行数のせいで見難いと思うけどまとめます
0964デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN見難くするのではなく
簡潔に見易く整理し
判りやすくする作業のことである
0965デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN・公式リポジトリからmasterを落として dmd(2.063) で build したところエラーが起きる
(存在しないディレクトリへのアクセス)
・build/buidl.d 中 の 98行目を次のように書き換えたところビルド可能になった
修正前:enum packSDL2 = Package( "SDL2", srcDerelict ~ "SDL2/" );
修正後:enum packSDL2 = Package( "SDL2", srcDerelict ~ "sdl2/" );
・DerelictUtil(libDerelictUtil.a) と DerelictSDL2(libDerelictSDL2.a) をリンクし、
SDL2(libSDL2.so)を適切に配置するもコンパイルエラーが出て泣く
・dl(libdl.so)をリンクすることによりコンパイルに成功する
0966デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANって伝えたくて
0967デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANC言語版(CSFML)の関数しか使えないみたいだけど、
DSFML(Derelictとは別モノ)はC++のクラスを再現してくれてるのね!
SFML自体気になってたからこれを機に使ってみようかしら
0968デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANDerelictのSFML2を同じ方法でラップした方が効率が良い
0969デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANほんとだ、てっきり再現してるのかと思ったら色々違う部分があるね
0970デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANhttp://dusers.dip.jp/
フォーラムが賑わってるのかと思ったら
全部SPAMにやられてるでござる
0971デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0972デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN0973デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.AN0974デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN気になってDSFMLのソース見てたら、
3.141592 とか 180 とかがベタ書きされててなんだか切ない気持ちになった
0975デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AND言語 Part32
http://toro.2ch.net/test/read.cgi/tech/1374022208/
0976デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0977デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANメンバ変数のgetterを書くとき、C++では
const Foo& getFoo() const { return m_foo; } // Foo m_foo; のconst参照返し
(もしくは: Foo getFoo() const { return m_foo; } // 値型のコピーを返し)
としてたところを
immutable(Foo) getFoo() immutable { return m_foo; } // Foo m_foo = new Foo();
にすればいいってことかな?
0978デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN返り値の型は const(Foo) じゃないとダメだよね・・・?
0979デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN神ツール来た?
64bitだとCOFFだから今更な気もするけど…
0980デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANconstもしくは inout
戻り値は autoでもいい
0981デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANありがと〜
でもごめん全然理解できてなかったみたい。もうちっと見回ってきます
0982デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0983デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0984デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANprivate Object obj;
const const(Object) get() { return obj; }
Object get() { return obj; }
}
みたいな二重定義しなきゃならないのなんとかならないかな
0985デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0986デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANって
const Object get() { return const(obj); }
の方が自然じゃね?って思うのは、俺がD脳になってないから?
0987デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANあれ?それともCのインスタンスがconstの時に呼び出せな…
ええいややこしいわっ
0988デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANhttp://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
今日も死んでる?
0989デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANDではinoutでいけそうなんだね。なんて快適なんだ
0990デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANもしかしてconstな要素を持つ変数にRebindableを使わずに再代入する方法もすでにあったりする?
0991デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0992デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANclass C{
~this(){
format("");
}
}
void main(){
C c = new C;
}
core.exception.InvalidMemoryOperationError
これって何とかなりません?
0993デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANauto obj = new Object;
value = &obj;
auto obj2 = new Object;
value = &obj2;
さすがポインタだなんともないぜ
0994デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0995デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0996デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANhttp://www.asahi.com/national/update/0719/OSK201307190030.html
大阪府の外郭団体「府文化財センター」のホームページが不正アクセスで改ざんされ、
17日から閉鎖されていたことがわかった。サイトの閲覧者がウイルスに感染する危険性があったが、
現時点で二次被害は確認されていないという。
同センターによると、17日にサイト管理会社から「サイバー攻撃を受けた」と連絡があった。
勃起不全治療薬の広告が出てくるように改ざんされた。広告は英語表記だったという。
サイトには文化財関連の講演会や刊行物の案内などを掲載。改ざんの被害は5月に続いて2回目で、
同センターは対策をとって再開する方針。担当者は「うちが狙われる理由がわからない」と話している。
0997デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANFAQよんだらわかるかな?
0998デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANあいつが一番詳しいんじゃ無いかな
0999デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN1000デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。