プログラミング言語 D (D Programming Language) について語るスレッドです。
■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳 (やや古いので注意)
https://issues.dlang.org/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ
■Wiki
http://wiki.dlang.org/ - 公式Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
■プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu 日本語版
http://www.shoeisha.co.jp/book/detail/9784798131108
ソース貼付サイト http://dpaste.dzfl.pl/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language
■前スレ
D言語 Part33
http://toro.2ch.net/test/read.cgi/tech/1396145538/
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
D言語 Part34©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/01/25(日) 12:07:29.52ID:gAd5OZDm
2015/02/12(木) 17:37:55.21ID:q1EoFTcz
>>48
バージョン1.1.4が古すぎて、dubリポジトリから消えたのが原因
(最新30バージョンしかダウンロードできない)
dependenciesに書いてるバージョンのgfmを持ってくればいいよ
git clone (gfmのgitレポジトリ); git checkout v1.1.4してdub add-localするなり、手動でコンパイルするなり
バージョン1.1.4が古すぎて、dubリポジトリから消えたのが原因
(最新30バージョンしかダウンロードできない)
dependenciesに書いてるバージョンのgfmを持ってくればいいよ
git clone (gfmのgitレポジトリ); git checkout v1.1.4してdub add-localするなり、手動でコンパイルするなり
2015/02/12(木) 19:48:39.30ID:bXvlMxGY
wxDでポトペタで開発できる環境はまだ無かったり?
そういう環境があればあっさり普及しそうなんだが
そういう環境があればあっさり普及しそうなんだが
2015/02/12(木) 19:50:51.16ID:PfMIiKi9
あっさり動かなくなるのが先
2015/02/12(木) 19:51:29.35ID:y+H1/X6i
なるほど
2015/02/12(木) 20:51:21.63ID:q1EoFTcz
QMLバインディングがあるから、QtCreatorとやらでGUIを作れるんじゃないか
試したことないから知らないけど
試したことないから知らないけど
2015/02/12(木) 20:53:00.31ID:3kErsrEg
ポトペタは実はあった
DFLとDWTのコードが書けていた
遠い遠い昔の話だ
DFLとDWTのコードが書けていた
遠い遠い昔の話だ
2015/02/12(木) 21:06:55.00ID:4P7uNPIb
そもそもwxDが今や死んでるという…
お願いですからwxDかQtDかのどっちかでいいから生き返ってください
C++からのポーティングはやっぱ難しいのかな
お願いですからwxDかQtDかのどっちかでいいから生き返ってください
C++からのポーティングはやっぱ難しいのかな
2015/02/12(木) 21:29:47.24ID:3kErsrEg
QtDは最初よかったけどなんか根が深そうなエラーが散発的に出てきて辛くなったな
開発者の人もくじけてしまったんだろうか
開発者の人もくじけてしまったんだろうか
2015/02/12(木) 21:34:47.94ID:PfMIiKi9
DFLのポトペタは今もできる
2015/02/12(木) 22:16:49.62ID:q1EoFTcz
ポトペタという単語、自分とは別の文化圏の香りがする……
2015/02/12(木) 23:09:30.23ID:PfMIiKi9
QtD サポートのために traits 増やしたお というのを数年前に見て度肝を抜かれた
だがそれでも時既に遅しだったのかもしれない
だがそれでも時既に遅しだったのかもしれない
60デフォルトの名無しさん
2015/02/13(金) 01:55:34.54ID:Bhurw0eL >>49
なるほど、確かに古いパッケージ見てみたら該当のソースがあった!
しかし今度はね。それだけじゃなくてね。std.loggerってのもないんだって・・w
Wikiでちょっと見た所、過去にあったimportファイルみたいなのだが、
今はstd.experimentalとやらに分類されてるようで、
それは標準添付ではなくて、リポジトリから持ってこないといけないみたい。
で、loggerというディレクトリに5つのソースファイルに分割されていた・・w
たった1年か2年前のソースをビルドするのがこんなにも大変とは、
D言語の破壊的成長力に、め・・目を見張るばかりだ!
なるほど、確かに古いパッケージ見てみたら該当のソースがあった!
しかし今度はね。それだけじゃなくてね。std.loggerってのもないんだって・・w
Wikiでちょっと見た所、過去にあったimportファイルみたいなのだが、
今はstd.experimentalとやらに分類されてるようで、
それは標準添付ではなくて、リポジトリから持ってこないといけないみたい。
で、loggerというディレクトリに5つのソースファイルに分割されていた・・w
たった1年か2年前のソースをビルドするのがこんなにも大変とは、
D言語の破壊的成長力に、め・・目を見張るばかりだ!
2015/02/13(金) 08:41:05.07ID:OQXQ5SVC
互換性維持しない方向で成長するのは別に構わんけど
過去のリポジトリ消される(ライブラリ含めて)のはめっちゃ困る罠
過去のリポジトリ消される(ライブラリ含めて)のはめっちゃ困る罠
2015/02/13(金) 08:46:04.43ID:wpAfYcVd
こういうことがあるからあんまり流行らないんだろうなぁと思う
63デフォルトの名無しさん
2015/02/13(金) 10:04:02.80ID:Bhurw0eL うーん・・
dub buildで急にエラーが出て何もできなくなった。
ソースとかまるで関係なく、どんなプロジェクトでも同じ文言を吐き出す
ようになったのだが、、
dub build
Error executing command build: Failed to invoke the compiler dmd to determine the build platform: {
"compiler": "dmd",
"frontendVersion": 2066,
"compilerVendor": "Digital Mars D",
"platform": [
"linux",
"posix"
],
"architecture": [
"x86_64"
],
}
Error: Error writing file '/tmp/dub_platform_probe.o'
dub_platform_probe.d見ても原因がさっぱり分からない助けてくれ。
dub buildで急にエラーが出て何もできなくなった。
ソースとかまるで関係なく、どんなプロジェクトでも同じ文言を吐き出す
ようになったのだが、、
dub build
Error executing command build: Failed to invoke the compiler dmd to determine the build platform: {
"compiler": "dmd",
"frontendVersion": 2066,
"compilerVendor": "Digital Mars D",
"platform": [
"linux",
"posix"
],
"architecture": [
"x86_64"
],
}
Error: Error writing file '/tmp/dub_platform_probe.o'
dub_platform_probe.d見ても原因がさっぱり分からない助けてくれ。
2015/02/13(金) 10:44:48.60ID:GGd+ovbB
Dの破壊的変更はもっとマシになるべきだが対策することが出来る
だが半生ライブラリはダメだ 滅ぶべき
パッケージシステムは道を誤りし背教者どもの墓標
だが半生ライブラリはダメだ 滅ぶべき
パッケージシステムは道を誤りし背教者どもの墓標
2015/02/13(金) 13:22:45.55ID:hveNpu6j
2015/02/13(金) 13:33:09.45ID:hveNpu6j
>>61
dubレポジトリは個人がボランティアで運営してるっぽいから仕方ない
あそこはGithubからミラーしてるだけだから、どうしても古いバージョンが入手できないということはないしね
2015年前半に、D言語の宣伝・普及のための団体を作るとかいう計画を立ててるらしいけど
それ以前にこういうボランティア任せの部分をちゃんとしたサービスとして運営できる組織を作って欲しいなぁ
dubレポジトリは個人がボランティアで運営してるっぽいから仕方ない
あそこはGithubからミラーしてるだけだから、どうしても古いバージョンが入手できないということはないしね
2015年前半に、D言語の宣伝・普及のための団体を作るとかいう計画を立ててるらしいけど
それ以前にこういうボランティア任せの部分をちゃんとしたサービスとして運営できる組織を作って欲しいなぁ
2015/02/15(日) 02:45:27.03ID:cP5B7v6s
人を動かすにはお金が必要なのです…
2015/02/15(日) 03:06:40.00ID:f2y5BLpx
永遠の17歳でいればずっと輝いていられる
そんなD言語
そんなD言語
2015/02/15(日) 09:59:28.43ID:lHovhrIX
Swiftのポジジョンに収まっていれば安泰(?)だったかもなぁ
2015/02/19(木) 13:19:34.20ID:HRi6jpIR
必要なのは D言語の入門・解説ではなく D言語とのつきあい方のガイドである
2015/02/19(木) 13:26:50.22ID:HRi6jpIR
2015/02/19(木) 15:56:05.50ID:IlBmsRQL
オオカミ言語
2015/02/19(木) 19:41:27.84ID:XR+Fo/Bc
2015/02/19(木) 23:05:32.06ID:/l77WhQC
1番目に学ぶべきはCかJavaかC#
2番目に学ぶべきはCかJavaかC#のまだやってないの
3番目に学ぶべきはJavaScriptかPythonかRuby
2番目に学ぶべきはCかJavaかC#のまだやってないの
3番目に学ぶべきはJavaScriptかPythonかRuby
2015/02/19(木) 23:20:17.85ID:VH3d6pj7
実際の状況を考えると、CとJavaとC#が選択肢に並ぶ場面ってそうそう無いよな
2015/02/19(木) 23:22:06.59ID:VH3d6pj7
2015/02/20(金) 00:33:37.66ID:0dV0e97W
D言語はまだ英語無しで学べる言語じゃない
まあレファレンス読むよりソース読んだ方が手っ取り早いかもしれないけど
(でもソースがレファレンスの代わりになるってunittestのおかげだよね)
まあレファレンス読むよりソース読んだ方が手っ取り早いかもしれないけど
(でもソースがレファレンスの代わりになるってunittestのおかげだよね)
2015/02/26(木) 23:20:00.62ID:3O66RLhf
お前らが「最近のD言語は安定しててつまらない」って言い始めたら本気出す
2015/02/27(金) 00:27:23.38ID:K5JNT6u2
本当に安定しててつまらないよ、細々とした調整ばかり
今年はDIP69含めて大幅な変更に期待
今年はDIP69含めて大幅な変更に期待
2015/02/27(金) 00:35:21.49ID:f/HlKW2K
RoRみたいなキラーフレームワークの登場が最優先だろ
変更ばっかじゃいつまでたっても出てこねえんだよお
変更ばっかじゃいつまでたっても出てこねえんだよお
2015/02/27(金) 16:16:04.75ID:K5JNT6u2
まさにRubyも仕様変更の多い言語なわけだし、あまり関係なさそう
キラーなんたらが出る以前に、それなりに人気が無いと始まらん
キラーなんたらが出る以前に、それなりに人気が無いと始まらん
2015/02/27(金) 17:00:53.63ID:fb9Ltl2D
RubyやPythonと違ってネイティブ吐けるところがメリットだけど
Pythonで間に合ってます
Pythonで間に合ってます
2015/02/27(金) 17:16:40.06ID:K5JNT6u2
PythonとDの両方が、同時に選択肢に入ってくる状況なんてあまり無さそうだがな
2015/02/27(金) 17:23:58.74ID:iHoQTjKY
2015/02/27(金) 18:00:21.53ID:V3GT5Jyg
バージョンが変わって動かないなら自分で直せばいいじゃない
2015/02/27(金) 18:17:54.33ID:XIuqZzpl
他の言語に比べて、D言語でしかできない or ものすごくやりやすい ことってなによ?
2015/02/27(金) 19:17:07.04ID:mK3Wrb1I
自分がそうだけど継ぎはぎだらけのC++の汚さに絶望した人がやってるんだと思う
スマートなコーディングができるのにアセンブリコードが出力されるから
Javaやスクリプト系のように速度で妥協することもない
スマートなコーディングができるのにアセンブリコードが出力されるから
Javaやスクリプト系のように速度で妥協することもない
2015/02/27(金) 19:22:04.02ID:qLq7jEUd
C++で同じことできるって言われても意味ないんだよねえ。
単なる見せかけの機能だけに釣られてる奴はC++やってた方がいい。
単なる見せかけの機能だけに釣られてる奴はC++やってた方がいい。
2015/02/27(金) 19:23:14.99ID:mK3Wrb1I
ちょっと理解できてないのかな
C++よりスマートなコーディングができることに魅力を感じてるって話なんだけど
C++よりスマートなコーディングができることに魅力を感じてるって話なんだけど
2015/02/27(金) 19:28:30.17ID:mK3Wrb1I
とりあえずバカはレスしない方がいいと思うんだ
2015/02/27(金) 19:36:30.29ID:6qk14JOo
>>88はお前に同意してるだろ
2015/02/27(金) 19:50:40.22ID:XIuqZzpl
2015/02/27(金) 19:58:54.66ID:K5JNT6u2
>ライブラリが充実して実用的に使えるバージョンがない
?
?
2015/02/27(金) 21:39:53.48ID:PrbBT478
テンプレート絡みだけでかなり差別化できてるんじゃね
あと今更イテレータとか触りたくないよね
あと今更イテレータとか触りたくないよね
2015/02/28(土) 00:25:57.89ID:eZcrJ6fq
C++の偉い人もタイムマシン手に入れたら何したいって聞かれて
C++のテンプレート周りの構文をD言語風にしたいって言ってたな
C++のテンプレート周りの構文をD言語風にしたいって言ってたな
2015/02/28(土) 01:49:28.71ID:2/mdATAK
D言語は気持ちよくプログラミングできるんだ
俺にとってのD使う理由はそれで十分
俺にとってのD使う理由はそれで十分
2015/02/28(土) 02:14:47.96ID:OQbzO6Hu
C++は気持ち悪いからな
関数ポインタとデリゲードが別物であった時点で俺の中では終わった。
関数ポインタとデリゲードが別物であった時点で俺の中では終わった。
2015/02/28(土) 07:17:05.89ID:dohjXiRJ
2015/02/28(土) 07:59:44.49ID:MvLmnYM1
AOっても誰も教えてくれませんよ?
100デフォルトの名無しさん
2015/02/28(土) 10:26:19.86ID:X4brU/QV >DのデリゲートはCの関数ポインタに変換できるのか?
Dにも普通の関数ポインタがあるので、そちらを使う
まあデリゲートでも(cast(void function())dg.funcptr)とか出来る、もちろんキャプチャした変数は使えなくなるけど
Dにも普通の関数ポインタがあるので、そちらを使う
まあデリゲートでも(cast(void function())dg.funcptr)とか出来る、もちろんキャプチャした変数は使えなくなるけど
101デフォルトの名無しさん
2015/02/28(土) 10:31:56.76ID:X4brU/QV 訂正:dg.funcptrは既に関数ポインタなのでキャストは不要
当たり前だな、何を勘違いしてたんだろう
当たり前だな、何を勘違いしてたんだろう
102デフォルトの名無しさん
2015/02/28(土) 10:32:47.26ID:OQbzO6Hu キャプチャなんてもんがある辞典でC++は消滅すべき
103デフォルトの名無しさん
2015/02/28(土) 10:41:51.15ID:dohjXiRJ104デフォルトの名無しさん
2015/02/28(土) 12:34:31.63ID:C0E19LHH キャプチャ自体はなるほど、と思ったけど
キャプチャ周りの書式はもうちょっとどうにかならんかったかなと思う
初見のときはあまりの違和感に頭がしばらくぐよんぐよんした
キャプチャ周りの書式はもうちょっとどうにかならんかったかなと思う
初見のときはあまりの違和感に頭がしばらくぐよんぐよんした
105デフォルトの名無しさん
2015/03/01(日) 09:38:36.00ID:OUJYb7d1 https://issues.dlang.org/show_bug.cgi?id=14213
S氏のバグ報告、これってProxyにtoHash付いたのが原因か
getHash(cast(const void*)a)としてるけど、delegateをconst void*にキャストするのがdeprecatedになった
S氏のバグ報告、これってProxyにtoHash付いたのが原因か
getHash(cast(const void*)a)としてるけど、delegateをconst void*にキャストするのがdeprecatedになった
106デフォルトの名無しさん
2015/03/01(日) 11:03:23.35ID:aFT4GJSL constなdelegateとかにいまだに違和感がある
107デフォルトの名無しさん
2015/03/01(日) 20:39:46.21ID:OUJYb7d1 2.067マダァ-? (・∀・ )っ/凵⌒☆チンチン
108デフォルトの名無しさん
2015/03/01(日) 22:07:38.95ID:H0vTWA+P まだ RC も出てないよ
後1,2回ベータが出てからその後のはず
後1,2回ベータが出てからその後のはず
109デフォルトの名無しさん
2015/03/02(月) 04:53:56.17ID:AZdlh9F+ 始まる前に終わるのか
110デフォルトの名無しさん
2015/03/03(火) 18:26:41.34ID:lY8jIC0A >>96これ
111デフォルトの名無しさん
2015/03/04(水) 10:09:49.78ID:FV6jzTFn112デフォルトの名無しさん
2015/03/04(水) 23:56:06.11ID:FV6jzTFn vibe.dの問題が解決できるまで2.067のリリースを遅らせるようだ
113デフォルトの名無しさん
2015/03/05(木) 01:37:44.30ID:gwTnmSIO D言語わくわく
http://next 2ch.net/tech/1425486862
↑
ツメル
http://next 2ch.net/tech/1425486862
↑
ツメル
114デフォルトの名無しさん
2015/03/05(木) 02:08:06.26ID:x1uxCIef スパムみたいな書き方だな
115デフォルトの名無しさん
2015/03/05(木) 04:06:53.30ID:n3NecQLR punycodeでも検閲回避不能か
116デフォルトの名無しさん
2015/03/05(木) 09:52:56.19ID:x1uxCIef 2.067ではGCが高速化したらしい
117デフォルトの名無しさん
2015/03/15(日) 12:30:14.94ID:gUpehvCT フォーラム見てるとWalterとAndreiに対してヘイトが溜まるなぁ
なんだこいつら
なんだこいつら
118デフォルトの名無しさん
2015/03/16(月) 00:49:17.06ID:+bImnCtP >>117
なんか横暴なことでもしてるの?
なんか横暴なことでもしてるの?
119デフォルトの名無しさん
2015/03/16(月) 08:22:23.11ID:rfonf8fQ 別に横暴って訳じゃないけど、なんか他人を見下してる風なんだよな
自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた
特にWalterは何かにつけて「30年間プログラマをやってきた経験」とやらで他人の意見を蹴ったり、一方で都合が悪くなると返事しないので腹立つ
自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた
特にWalterは何かにつけて「30年間プログラマをやってきた経験」とやらで他人の意見を蹴ったり、一方で都合が悪くなると返事しないので腹立つ
120デフォルトの名無しさん
2015/03/16(月) 10:32:44.07ID:r187UUhH >自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた
あるある
こういう態度からは何も生まれない
あるある
こういう態度からは何も生まれない
121デフォルトの名無しさん
2015/03/17(火) 11:46:22.59ID:JR5CbamM 2.067RC 出た
122デフォルトの名無しさん
2015/03/22(日) 11:14:50.00ID:GjqveEz/ やっとか
123デフォルトの名無しさん
2015/03/23(月) 09:50:52.33ID:YJLz3rN2 FacebookがD言語を開発してるみたいな誤解を与えられたの、AAの目論見通りなのかな
実際はちょいと金貰っただけだし、業務ではほぼ使われてないとAAも言ってたし
実際はちょいと金貰っただけだし、業務ではほぼ使われてないとAAも言ってたし
124デフォルトの名無しさん
2015/03/26(木) 10:19:51.24ID:jtu1q66h 正式リリース出たで
125デフォルトの名無しさん
2015/03/27(金) 10:32:23.05ID:i1/0Dr4k 以前ここで見た気がするけど
dmd2.067(win32)でも、windows8.1 64bitで
以下が落ちる
---
size_t count;
scope(failure) count.writeln;
foreach (_; 0 .. 100) {
count++;
new byte[100_000_000];
}
---
13
core.exception.OutOfMemoryError@(0)
dmd2.067(win32)でも、windows8.1 64bitで
以下が落ちる
---
size_t count;
scope(failure) count.writeln;
foreach (_; 0 .. 100) {
count++;
new byte[100_000_000];
}
---
13
core.exception.OutOfMemoryError@(0)
126デフォルトの名無しさん
2015/03/27(金) 22:14:20.45ID:CTT/twdI GC「それはな…ちゃうねん」
なんかGC作動オプションつけられるようになったっぽいから色々試してみたけど
どうやっても落ちるのな
なんかGC作動オプションつけられるようになったっぽいから色々試してみたけど
どうやっても落ちるのな
127デフォルトの名無しさん
2015/03/28(土) 14:05:37.34ID:1FIUchx6 PreciseGC にならないとダメ
非アドレスをはじけないから
デカいブロックを使用中と誤認したり無駄なスキャンも防げない
自前で malloc/free するか Win64使うか
非アドレスをはじけないから
デカいブロックを使用中と誤認したり無駄なスキャンも防げない
自前で malloc/free するか Win64使うか
128デフォルトの名無しさん
2015/03/28(土) 14:54:58.16ID:1U0GdOh9 でかいJPEGファイルをロードしたくらいで引っかかる上に
外部ライブラリを使ってるから回避できなくてとても困る
やはり時代は@nogcか…
外部ライブラリを使ってるから回避できなくてとても困る
やはり時代は@nogcか…
129125
2015/03/28(土) 14:55:17.12ID:3c7jmW0j いい加減、64bit環境を構築するかー
さんくす!
一応 delete で、不要と教えてあげれば落ちないけど
GCの意味ないなあとか思っていじってました
GC「要らないならいうてやー」
さんくす!
一応 delete で、不要と教えてあげれば落ちないけど
GCの意味ないなあとか思っていじってました
GC「要らないならいうてやー」
130デフォルトの名無しさん
2015/03/28(土) 15:40:21.32ID:1FIUchx6 10-20MB以上のデカいブロックだけmalloc/freeするのがいい
GCに預けたやつを中途半端に手出しするのもあんまり
GCに預けたやつを中途半端に手出しするのもあんまり
131デフォルトの名無しさん
2015/03/28(土) 15:42:10.46ID:F7N+uTWP GCの方がトータルで速いと主張してたのはなんだったんや・・・
つか、GC無しが有り環境に移行するのはまだしも、有りだったのが無しに移行するのって辛いよな
つか、GC無しが有り環境に移行するのはまだしも、有りだったのが無しに移行するのって辛いよな
132デフォルトの名無しさん
2015/03/30(月) 13:07:23.56ID:i+YJuxFC D言語からC言語のヘッダファイルを読み込むにはどうしたらよいですか?
具体的にはwindows.hとかを読み込みたいです。
DirectXとかも使いたいのでC++用のCOMのヘッダも読み込みたいです。
D言語はライブラリが少ないし、
マイナー言語なので、ライブラリ提供者から公式なサポートが無いです。
そのため、C/C++用のライブラリをそのまま流用して使いたいです。
ヘッダファイルには、C/C++用のマクロなども定義してあるので、
D言語はC/C++の全機能をサポートする必要があります。
このために、DとC/C++を切り替えるスイッチが必要で、( 例えば extern C++{ } )
私が知りたいのはこの機能です。
具体的にはwindows.hとかを読み込みたいです。
DirectXとかも使いたいのでC++用のCOMのヘッダも読み込みたいです。
D言語はライブラリが少ないし、
マイナー言語なので、ライブラリ提供者から公式なサポートが無いです。
そのため、C/C++用のライブラリをそのまま流用して使いたいです。
ヘッダファイルには、C/C++用のマクロなども定義してあるので、
D言語はC/C++の全機能をサポートする必要があります。
このために、DとC/C++を切り替えるスイッチが必要で、( 例えば extern C++{ } )
私が知りたいのはこの機能です。
133デフォルトの名無しさん
2015/03/30(月) 13:45:54.48ID:yiQdteM4 原則:
・C/C++のヘッダを直接読むことはできず変換が必要
・DMDでWin32アプリを作る場合に限り、C/C++ののライブラリの変換も必要
大抵のライブラリはすでに変換済みのが用意されてるのでそれを使うだけ
Win32API -> http://www.dsource.org/projects/bindings/wiki/WindowsApi/
ゲーム用とかなら github/DerelictOrg が充実してる
・C/C++のヘッダを直接読むことはできず変換が必要
・DMDでWin32アプリを作る場合に限り、C/C++ののライブラリの変換も必要
大抵のライブラリはすでに変換済みのが用意されてるのでそれを使うだけ
Win32API -> http://www.dsource.org/projects/bindings/wiki/WindowsApi/
ゲーム用とかなら github/DerelictOrg が充実してる
134デフォルトの名無しさん
2015/03/30(月) 13:51:58.23ID:yiQdteM4 いちおう公式のバインディング集 使ったことないからどのくらいあてになるかは知らない
https://github.com/D-Programming-Deimos
https://github.com/D-Programming-Deimos
135デフォルトの名無しさん
2015/03/30(月) 23:00:53.68ID:QPp3Flh2 wxDを使えている人に質問です。windows上でmingwからwxDをコンパイルしようとすると、wxWidgetsのコンパイルまでは成功したのですが
、wxDのコンパイルで以下のようなエラーがでます。
export PATH=/e/D/dmd2/windows/bin:/e/D/dm/bin:$PATH
export WXDIR=/e/D/wxWidgets-2.8.12
make
dmc -D__DMD__ -mn -g -o+none -D____ -D__WXDEBUG__ -Ie:/D/wxWidgets-2.8.12\inclu de -Ie:/D/wxWidgets-2.8.12\lib\dmc_lib\mswd -w- -I. -WA -DNOPCH -HP90 -Ar -Ae -HP99 -c -oaccel.obj accel.cpp
virtual ~name() \
^
local_events.h(49) : Error: storage class is illegal in this context
{ \
^
local_events.h(50) : Error: illegal constructor or destructor or invariant decla ration
ProcessEvent(e); \
^
local_events.h(52) : Error: undefined identifier 'ProcessEvent'
}
^
local_events.h(53) : Warning 18: implied return of name at closing '}' does not return value
void RegisterDispose(Virtual_Dispose onDispose) { m_onDispose = onDispose; } \
^
local_events.h(67) : Error: undefined identifier 'm_onDispose', did you mean 'on Dispose'?
virtual ~name() { m_onDispose(this); } \
^
local_events.h(68) : Error: storage class is illegal in this context
Fatal error: too many errors
--- errorlevel 1
--- errorlevel 1
--- errorlevel 1
、wxDのコンパイルで以下のようなエラーがでます。
export PATH=/e/D/dmd2/windows/bin:/e/D/dm/bin:$PATH
export WXDIR=/e/D/wxWidgets-2.8.12
make
dmc -D__DMD__ -mn -g -o+none -D____ -D__WXDEBUG__ -Ie:/D/wxWidgets-2.8.12\inclu de -Ie:/D/wxWidgets-2.8.12\lib\dmc_lib\mswd -w- -I. -WA -DNOPCH -HP90 -Ar -Ae -HP99 -c -oaccel.obj accel.cpp
virtual ~name() \
^
local_events.h(49) : Error: storage class is illegal in this context
{ \
^
local_events.h(50) : Error: illegal constructor or destructor or invariant decla ration
ProcessEvent(e); \
^
local_events.h(52) : Error: undefined identifier 'ProcessEvent'
}
^
local_events.h(53) : Warning 18: implied return of name at closing '}' does not return value
void RegisterDispose(Virtual_Dispose onDispose) { m_onDispose = onDispose; } \
^
local_events.h(67) : Error: undefined identifier 'm_onDispose', did you mean 'on Dispose'?
virtual ~name() { m_onDispose(this); } \
^
local_events.h(68) : Error: storage class is illegal in this context
Fatal error: too many errors
--- errorlevel 1
--- errorlevel 1
--- errorlevel 1
136デフォルトの名無しさん
2015/03/30(月) 23:02:22.58ID:QPp3Flh2 dmd 2.067.0, dmd 2.054
wxWidgets-2.8.12
wxd 0.16
dmd 2.067.0, 2.054どちらでもエラー内容は同じでした。何が問題なのでしょうか?
wxWidgets-2.8.12
wxd 0.16
dmd 2.067.0, 2.054どちらでもエラー内容は同じでした。何が問題なのでしょうか?
137デフォルトの名無しさん
2015/03/31(火) 00:23:32.12ID:DLD3Q9u2 どう見ても C++ でコケてるんだが
138デフォルトの名無しさん
2015/04/05(日) 02:08:57.94ID:i8c3cK/q 久しぶりにさわったらUFCSとかrangeとかイケてるやん、書いてて気持ちえ〜わ〜
139デフォルトの名無しさん
2015/04/08(水) 21:42:13.87ID:QBLG8yia replaceはstringとregexで被ってるのか
140デフォルトの名無しさん
2015/04/08(水) 22:47:53.09ID:bms3DTdi http://www.kmonos.net/alang/d/overview.html
>非仮想メンバ関数。C++では、関数がvirtualになるかどうかは クラスの設計者が前もって決定します。
>メンバ関数をオーバーライドすることにしたのに、基底クラスの方で改造を忘れる… というのは、
>よくある(けれども非常に見つけにくい)コーディングミスです。
>全てのメンバはvirtualにしておき、 オーバーライドが存在しないことをコンパイラが検知して非 virtual に変える、
>というアプローチの方が信頼性があります。
と書いてありますが、実際にどこまでそんな最適化が機能しますかね。
ローカルスコープでnewされたオブジェクトなら簡単に検地できますが、
メソッドの引数で渡されたオブジェクトや、
メンバ変数で保持しているオブジェクトに対して、
オーバーライドが存在しないことを、どこまで検地できるものなのでしょうか。
D言語はモジュール単位でコンパイルするので、
自分のモジュール以外で何が行われるかわからないのでは?
>非仮想メンバ関数。C++では、関数がvirtualになるかどうかは クラスの設計者が前もって決定します。
>メンバ関数をオーバーライドすることにしたのに、基底クラスの方で改造を忘れる… というのは、
>よくある(けれども非常に見つけにくい)コーディングミスです。
>全てのメンバはvirtualにしておき、 オーバーライドが存在しないことをコンパイラが検知して非 virtual に変える、
>というアプローチの方が信頼性があります。
と書いてありますが、実際にどこまでそんな最適化が機能しますかね。
ローカルスコープでnewされたオブジェクトなら簡単に検地できますが、
メソッドの引数で渡されたオブジェクトや、
メンバ変数で保持しているオブジェクトに対して、
オーバーライドが存在しないことを、どこまで検地できるものなのでしょうか。
D言語はモジュール単位でコンパイルするので、
自分のモジュール以外で何が行われるかわからないのでは?
141デフォルトの名無しさん
2015/04/09(木) 05:18:11.14ID:uR76CfxE 詳しくないのでさっぱりなのだがこっちにも
http://www.kmonos.net/alang/d/function.html#virtual-functions
>コード生成時にDはクラス階層を全て把握していますので、
>オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。
って自信満々に書いてあるね。
で、なんかそんな話題どっかでみたなあと思って探してみたが
http://hibari.2ch.net/test/read.cgi/tech/1293500945/300-303
別に結論出てなかった。
まあ「finalつけると速くなる」なら(今でも同じかは確認してないが)
可能であろうと、少なくとも真面目に実装はしてないんだろうね。
http://www.kmonos.net/alang/d/function.html#virtual-functions
>コード生成時にDはクラス階層を全て把握していますので、
>オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。
って自信満々に書いてあるね。
で、なんかそんな話題どっかでみたなあと思って探してみたが
http://hibari.2ch.net/test/read.cgi/tech/1293500945/300-303
別に結論出てなかった。
まあ「finalつけると速くなる」なら(今でも同じかは確認してないが)
可能であろうと、少なくとも真面目に実装はしてないんだろうね。
142デフォルトの名無しさん
2015/04/09(木) 09:23:07.96ID:BNp5TkNs virtual がキーワードとして追加された後しばらくして撤回されたのが最近の出来事
143デフォルトの名無しさん
2015/04/09(木) 18:19:45.10ID:HK14cBmq D言語のコンパイラで一番いいのは何ですか?
144デフォルトの名無しさん
2015/04/09(木) 19:55:59.27ID:38RAslub dmdしか使ってない俺にもdmdが最善ではなさそうなことはわかる
145デフォルトの名無しさん
2015/04/09(木) 21:10:41.59ID:BNp5TkNs コンパイルが最速でプロファイルもカバレッジもちゃんと動くdmdが最善でないとな?
win32/simd とか win64/seh とか足りないのはあるけど
win32/simd とか win64/seh とか足りないのはあるけど
146デフォルトの名無しさん
2015/04/10(金) 06:51:36.42ID:uqc+UxkP dmdのsimdってまだSSE2までしか対応してないのけ?
147デフォルトの名無しさん
2015/04/11(土) 15:44:58.43ID:E/CwOvDs D言語ってなんで流行らないんですか?
148デフォルトの名無しさん
2015/04/11(土) 17:32:39.43ID:7fSRDMX5 ポストC++を目指してるんだけど
C++自体が使われてないから
C++自体が使われてないから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 ★2 [煮卵★]
- 戦後中国「賠償金は不要。悪いのは日本軍で日本人民は無辜、戦犯が裁かれればそれでよい」 [237216734]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨 [931948549]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【高市画像】ビッグマック、200円🍔 [683137174]
- もう疲れたよパトラッシュ......をVIPで発言して役6年
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
