D言語 Part25

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
http://pc12.2ch.net/test/read.cgi/tech/1264432017/

■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)

■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
ttp://dusers.dip.jp (D言語友の会)
ttp://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
2デフォルトの名無しさん:2010/08/15(日) 08:01:30
3デフォルトの名無しさん:2010/08/15(日) 08:03:41
Part24がレス数981のまま過去ログ入りしていたようなので→http://hibari.2ch.net/tech/kako/o1264/subject.txt
立ててみました
4デフォルトの名無しさん:2010/08/15(日) 08:13:41
いちおつですよ
5デフォルトの名無しさん:2010/08/15(日) 14:16:55
おお、2年ぶりに 「D言語」 という単語を見たわー。
まだ生きてたかー、あれから状況は良くなったんかな?
6デフォルトの名無しさん:2010/08/15(日) 14:43:08
>>5
今年の5月にD2の安定版が出る予定。今4月137日だからあと少しだな。
7デフォルトの名無しさん:2010/08/16(月) 18:25:53
WalterBright
#d_lang Got Phobos' object.d to compile in 64 bit mode. On to the rest of Phobos.
8デフォルトの名無しさん:2010/08/16(月) 22:52:54
D言語でWin32APIやSDLのThreadを使って大丈夫でしょうか
GCまわりとか
9デフォルトの名無しさん:2010/08/17(火) 01:34:35
>>1 乙!

>>8
「メッセージをポストするだけ」とかなら他のでもかまわないだろうが、
そうでないなら標準ライブラリのcore.threadを使うのが無難なんじゃないだろうか。
10デフォルトの名無しさん:2010/08/17(火) 22:55:58
>>7
あと一息ってことでしょうか
もうすぐ私もD言語を使えるってことでしょうか
11デフォルトの名無しさん:2010/08/17(火) 22:58:28
俺D3.0が出たらD2.0はじめるんだ…
12デフォルトの名無しさん:2010/08/18(水) 01:44:28
現状って64bitじゃ全く起動できないの?
13デフォルトの名無しさん:2010/08/18(水) 02:15:12
>>12
x64Vistaだがコンパイラもコンパイルしたソフトも(WoW64上で)普通に走ってる。
64bitモードのバイナリ吐けるのがそろそろ出るとか出ないとか。
てか、DMCって64bit対応してないんじゃ?その辺どうなるんだろう
14デフォルトの名無しさん:2010/08/19(木) 00:20:06
関数の名前の最後に@NN(←引数のサイズ?)が付かなくて、かつ呼び出し規約がstdcallな外部関数はどうやって定義すればいいんでしょうか?
extern(System)とすると勝手に@NNが付くし、extern(C)だと名前は合うから呼び出せるけどスタックが崩れてすぐ落ちちゃうんですけど
15デフォルトの名無しさん:2010/08/19(木) 01:03:23
FreePascalのようなそういうのを呼べてOMFも吐けるコンパイラで一枚挟むか、
インラインアセンブラか、いっそエクスポートしてGetProcAddressか、だろうなあ……
16デフォルトの名無しさん:2010/08/19(木) 01:05:58
ああ定義するほうか、ごめん。
.dllを作るなら.defファイル書けばいけるだろうけど、静的ライブラリは無理だろうなあ……

っていうかどういう用途だ?
既存のライブラリと合わせるためなら、ライブラリの方をdmcでコンパイルしなおして
@付きを要求するようにしちゃえ
17デフォルトの名無しさん:2010/08/19(木) 01:46:45
すみません、定義というか、宣言?のほうですね多分
そういう関数を持ったDLLがあって、それのD用のインポートファイルを書こうとしてるんです
そしたらやっぱりアセンブラとかそういう選択肢が出てきちゃうんですね・・・
仕方ないのでちろっと調べた感じで、

size_t TotalSizeof(TS...)() {
  size_t n=0;
  foreach (T; TS)
    n += T.sizeof;
  return n;
}
R CallingConventionFix(alias F,
            R=ReturnType!(F),
            P=ParameterTypeTuple!(F))
           (P p) {
  size_t paramsize = TotalSizeof!(P)();
  static if (is(R == void)) {
    F(p);
    asm { sub ESP, paramsize; };
  }
  else {
    R r = F(p);
    asm { sub ESP, paramsize; };
    return r;
  }
}
alias CallingConventionFix!(ForeignFuncHoge) ForeignFuncHoge_; // 変換
 :
 :

こんな感じでとりあえずは思ったように動いてる感じです。
なんかどっか間違ってそうでこわいけど
18デフォルトの名無しさん:2010/08/19(木) 02:13:06
確かに怖いなあ……。
一応、n += T.sizeof; の部分は、4単位に切り上げたほうがいいとは思うけど
それ以前に最適化次第でどうにでも変になってしまいそうだ……。

というか.dllの関数を呼ぶだけなら、それこそGetProcAddressでいいんじゃない?
19デフォルトの名無しさん:2010/08/19(木) 02:33:53
DLLだったら、.libファイルを静的リンクすればいいと思うのだけど…
pragma(lib, "d3d9");
みたいにして。
あるいは動的リンク(GetProcAddress)だろうね。
2017:2010/08/19(木) 02:36:20
>GetProcAddress
よく考えたら確かにそうですね
なんかテクニカルそうなことやってみたい盛りだったんでしょうかね……
普通にそっちでやりますね、スレ汚してすみませんでした
21デフォルトの名無しさん:2010/08/19(木) 02:47:17
>>19
.dllの供給元から提供されてる.libを使ったら@が付いてなかった、という話だと思われる。
自分で.def書いて.lib作り直せばいけるだろうけど、.dllの更新が頻繁だとめんどくさいしなー。
22デフォルトの名無しさん:2010/08/20(金) 01:18:00
すみません、長いですが良ければ相談に乗っていただけると助かります。

Linux上で動くCUIサーバアプリケーションの開発を予定しています。
スレッド、ソケット、その他多少IO系が使えれば、残りはほぼ実装であることや、
自社に特にc++のリソースが無くゼロベースからの開発であることから、
D言語の方がリファレンスや参考サイトを見る限り、
開発が素早く完了しそうな感触を得たため、D言語の開発環境を構築しています。

ところがどっこいLinux上に環境を作るのにかなり手こずっている状況です。

ひとまず要件としてこんな感じです。
・開発コストを抑えること。
・Eclipse等のIDEの利用(CUIでデバッグは考えたくないです)
・ネイティブコードが吐けること。
・gc以外のメモリ管理も可能なこと。
・DBとコルーチンがあれば尚可。

続きます
2322:2010/08/20(金) 01:19:57
今まで試したこと
・クロスプラットフォーム対応で時間を掛けたくないので、
 (VMの)CentOS5.5上に開発環境を構築しようとしています。
 本番のサーバもCentOSを予定しています。
・dmd2.048をインストール
 →コマンドラインからdmdのコンパイル、実行を確認。
・Eclipse3.6にDescentをインストール。パスを通せばエディタとしては問題なし。
・Eclipse上からコンパイル可能にするため、dsssをインストール。
 →dsssコマンド自体は動くが、tango等いくつかnet installしようとしても
  コンパイルエラーに遭遇。1.xを入れてないからか?
・Eclipseからコンパイルを試すも、エラー(java.io.IOException: error=13, 許可がありません)で成功せず。
・dsssのライブラリが最新のものとかなり違うようだったので、最新のdmdをメインにしようと思い、gdcの導入を検討。
 →ソースを若干書き換えbuildは作れたものの、実行できず。
・もうAntで作っちまおうか('A`) な状態に。

という状況でして、うまいことコンパイル&デバッグが可能な状況に
なかなかたどりつけないでいます。
Linux上でDの開発を順調に行えている方は、
どのような環境で開発しているのでしょうか?
また、私の勘違いで損をしているだろう部分や、
アドバイス(c++でやれ)等ありましたらお願いします。

申し訳ないですが職場のdionがアク禁なので、返事は早くても明日になると思います。
24デフォルトの名無しさん:2010/08/20(金) 02:20:54
C++とboostでおk
25デフォルトの名無しさん:2010/08/20(金) 02:29:17
もうちょっと書こう.
LinuxでIDEを使ってD言語やってる人はほとんどいないんじゃなかろうか.
何にせよIDEはおもちゃみたいなのしか聞かないね.
2.xのPhobosが特に不安定な時期だからここの変更をカバーできるように書いた方がいいと思う.
dsssは実質使われていない.
Tangoは最近もライセンスでいざこざがあるなどPhobosと同調しないからおすすめしない.
26デフォルトの名無しさん:2010/08/20(金) 03:35:01
IDEは諦めて、使いやすいテキストエディタを利用したほうが良い。emacsなんかで書いている人は多いように思う。
一応あるにはあるけど、CentOSで仕えるのってあったっけ。
GC以外のメモリ管理もおすすめできない。
どうしてもやりたいのであれば、mallocなどは使うことができるけど、慎重に使わないとGCに刺される。
DBはPhobosには無い。JsonもXmlも一応存在するが、あまり良いものではない。
コルーチンであれば、core.thraed.Fiberが利用可能。
ビルドツールは、専用のものを自分で適当に書いてしまうか(200行程度でそれなりに仕上がる)、make、Antを使ったほうがいい。
デバッグツールは、Descentからつかえるものの、Descent自体相当重いのでアテにしてはダメ。昔ながらのprintf(Dではwriteln)が一番強力に思う
27デフォルトの名無しさん:2010/08/20(金) 14:41:07
自社とか書いてるけど、仕事で2系を使うのか?チャレンジャーだなw
多分次のdmdのバージョンアップでそのサーバは動かなくなるw
28デフォルトの名無しさん:2010/08/20(金) 17:03:57
>>27
いつのdmdの話をしてるんだ…
2922:2010/08/21(土) 00:06:41
dionのアク禁余裕でした。

>>24-25
外部ライブラリの件、非常に参考になります。
同じ最新環境でガシガシ書いているのではないのですね。

>>26
IDEは…そこを何とか('A`)
エディタ+αとして使えれば十分なので、実行/デバッグを除けばDescentで事足り
てます。
実行/デバッグはアドバイス通りAntを書いてみたいと思います。

メモリ管理の件は、Javaのようにいつ回収されるかわからないような状況でなければ
問題ないというような意味でして、私の書き方が悪かったと思います。
D言語仕様で問題ないです。
その他、諸々とても参考になりました。

>>27
C++開発の総コスト < D2.x開発+D3.x対応・・・と信じたい。
30デフォルトの名無しさん:2010/08/21(土) 03:41:04
Dにはもともと契約や組み込みのassert、単体テストなどが備わっているし、
d2の最新版でスタックとレース表示も入ったらしいし、
実はデバッガが言語組み込みだと考えていいのではないかと思う
31デフォルトの名無しさん:2010/08/21(土) 03:49:40
それらの機能のパクリ元であるEiffelにもちゃんとデバッガは別にあるぞ
32デフォルトの名無しさん:2010/08/21(土) 12:53:37
JavaとかだとIDEの助けが無いと書くのは無理
PerformanceCounter pc = new PerformanceCounter();
とか書くだけでめまいがする
Dなら
auto pc = new PerformanceCounter;
と書けてライブラリも略名が多いからサポート無しで書くのが存外苦痛じゃなかったりする

結論から言うとC++0xでおk
33デフォルトの名無しさん:2010/08/21(土) 12:57:40
デバッガはddbg健在だよ
でもlinuxなら本体にスタックトレース入ったらしいからいらないかな

でもstd.socketが近いうちに差し替えられるかもしれない
34デフォルトの名無しさん:2010/08/21(土) 18:09:22
多分、D2を使い続けるうちは破壊的変更は最小限だと思う。
特にライブラリは、古いのを残して新しいのを追加する形で、なるべく新しいのを使う形になると思う。
D3になったら…覚悟したほうがいい。少なくともscope, typedefあたりは今のうちから排除していったほうがよさそう。
35デフォルトの名無しさん:2010/08/21(土) 19:32:02
えっscopeって無くなる感じなの?
36デフォルトの名無しさん:2010/08/21(土) 19:46:42
スコープガードはわからないけど、ストレージクラスのscopeはdeprecatedらしいよ。
Andrei曰く、
class A {
void method(B b){ b.link(a); }
}
...
auto b = new B;
{
scope a = new A;
a.method(b);
}
b.useA();
こういう時、コンパイルエラーなしに実行できて、未定義動作起こすのが嫌らしい。
37デフォルトの名無しさん:2010/08/22(日) 23:51:47
今後はdsourceのphobosにがっつんがっつん入ってく感じな気がするんでもうTangoのことは忘れていいですか?
38デフォルトの名無しさん:2010/08/23(月) 19:36:20
Tango…って何?
39デフォルトの名無しさん:2010/08/23(月) 20:21:15
アルゼンチン人の魂
4022:2010/08/24(火) 20:08:52
久々にdion解除キターので近況報告。
ようやっとLinux+Eclipseからコンパイルが成功しました。
結局dmdを使用するmakefileを作成してEclipseのビルダーを置き換えし、
Ctrl+Bにてコンパイルできるようになりました。

単語補完も昔のPHPEclipse並の微妙感が良い感じです。

アドバイスいただいた方々、ありがとうございました。
あとはデバッガさえ動けば・・!
41デフォルトの名無しさん:2010/08/24(火) 21:51:37
根性だなぁ。おめ

linuxでD使ってないからよくわからんけど-gcオプションつけてgdbがいいのかな?
頑張ればEclipseから使えそうな気がしないでもない
4222:2010/08/25(水) 02:04:07
>>41
試しにDdgbをEclipseから選択してみたらWindowsでやれ的なエラーがw
ということでgdbしか選択肢が無さそうです。
とはいえDescentのメニューからgdbを選択できたので、
特に問題なくデバッグできました。

まだDの設計が理解できてないので、
レジスタ等の動きが正しいのかわかりませんが、
ステップ実行やメンバ変数のトレースは問題なく動きました。

これで勝つる!!
43デフォルトの名無しさん:2010/08/25(水) 07:28:35
$ cat test.d
void main() {
int[int] a = (int[int]).init;
a[1] = 2;
}

$ dmd -run test.d
object.Error: Integer Divide by Zero


やだ…なにこれ…
44デフォルトの名無しさん:2010/08/25(水) 20:17:16
void main() {
int[int] a;
assert(a == a.init);
}

Error: incompatible types for ((a) == (AssociativeArray(null))): 'int
[int]' and 'AssociativeArray!(int,int)'

やだ…なにこれ…
45デフォルトの名無しさん:2010/08/25(水) 21:15:29
>>22が色々問題なく動かしてるのを見て少し心配になったがその後の流れで安心した
DのDたるところは健在だな
46デフォルトの名無しさん:2010/08/25(水) 21:27:03
いや、D言語だったら大抵の場合問題なく動くだろ。
回避方法がすぐに見つからないバグも少ないし、何とかなる場合がほとんど。
47デフォルトの名無しさん:2010/08/25(水) 23:38:08
久々にDFL使ってみてるけどやっぱいいなぁこれ
他言語からの移植品に比べて格段にコードが短くなる
後もう少し機能が揃えば…
48デフォルトの名無しさん:2010/08/27(金) 01:31:42
dmd2.048のphobosにthread.dが無いのは何かの間違いでしょうか( ´Д`)?
49デフォルトの名無しさん:2010/08/27(金) 02:38:01
>>47
何が足りない?
50デフォルトの名無しさん:2010/08/27(金) 07:17:10
>>48
core.thread
51デフォルトの名無しさん:2010/08/27(金) 07:17:55
>>49
SpinnerだかSpinBoxだかNumericUpDownだかとレイアウトマネジャ
あとGraphics関連が弱い

どうせラップするだけだから自作してみようかと思ったら
SpinnerってWindowsAPIにないんだよな
なんだというんだ

>>48
src/druntime/import/core
にthread.diがあるよ
52デフォルトの名無しさん:2010/08/27(金) 17:48:25
Spinnerって何だ
UpDown(UPDOWN_CLASS=msctls_updown32)?
この手の名前はいろいろありすぎて困る
53デフォルトの名無しさん:2010/08/27(金) 19:35:36
ああUpDownっていうのか
ぐぐったら猫が出てきた。これこれ
ttp://homepage2.nifty.com/c_lang/sdk3/sdk_205.htm

AndroidではいわゆるコンボボックスがSpinnerという名前になってたりする
どういうことなの…
54デフォルトの名無しさん:2010/08/28(土) 00:24:07
Range(笑)

D3まだー?Range落ち着くまで来ないんかな
55デフォルトの名無しさん:2010/08/28(土) 01:53:36
64...bit....版..........は.....?
56デフォルトの名無しさん:2010/08/28(土) 05:38:48
fedora14にD言語がパッケージングされるっぽ
57デフォルトの名無しさん:2010/08/28(土) 06:02:19
>>56にソースのリンク書き忘れた
http://gihyo.jp/admin/clip/01/linux_dt/201008/25
58デフォルトの名無しさん:2010/08/28(土) 06:34:31
D1とD2で同じものコンパイルしたらD2のが2倍ファイルサイズでかかった
そういうもの?
59デフォルトの名無しさん:2010/08/28(土) 08:02:36
静的にリンクされまくるからそういうものだと思う。

DLL Hell に巻き込まれるよりはましかもしれない。
DLL にしても、最近は結局自分のディレクトリに入れておけという感じだしな。
60デフォルトの名無しさん:2010/08/28(土) 08:12:45
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)って、
ここのWikiだよね?
61デフォルトの名無しさん:2010/08/28(土) 08:21:01
>>56
正気かfedora
62デフォルトの名無しさん:2010/08/28(土) 09:27:11
1から2のDll使えたりしますか?
63デフォルトの名無しさん:2010/08/28(土) 09:29:18
extern(D)な関数は駄目だった気がする
64デフォルトの名無しさん:2010/08/28(土) 15:06:46
dmdに-libオプションつけるとライブラリファイルのパスが
見つけられなくなる気がする。どういうことなんだ・・・

C:\D\dmd2\src\libs>cat a.d
void main()
{}

C:\D\dmd2\src\libs>dmd a.d winmm.lib

C:\D\dmd2\src\libs>dmd -lib a.d winmm.lib
Error: Error reading file 'winmm.lib'
65410◇hmqb6VZ0L :2010/08/28(土) 18:04:20
66デフォルトの名無しさん:2010/08/28(土) 18:52:21
あれ、インストーラとかあるんだ…
マジかよすげぇなまるでパッケージソフトみたいだ
67デフォルトの名無しさん:2010/08/29(日) 02:46:33
>>65
わざわざ新しいの作らんでも、dusersに移すのじゃあかんの?
PhobosとTangoの分裂みたいに情報や編集人が分散するのはちょっとなあと思う
68デフォルトの名無しさん:2010/08/29(日) 03:06:00
D言語のDはdistortedのD
69デフォルトの名無しさん:2010/08/29(日) 12:32:26
>>67
ん・・・ とりあえず記事がある程度仕上がったら考える。
70デフォルトの名無しさん:2010/08/29(日) 12:54:32
"文字列"   ← string
"文字列".dup ← char[]

これどういう意図があるんだろう
D1→D2時のdupの修正し忘れ?
71デフォルトの名無しさん:2010/08/29(日) 12:58:35
ああ、immutableはずすためなのか
連投すまん
72デフォルトの名無しさん:2010/08/29(日) 15:02:11
やっぱstringだけimmutable(char)[]って表示されないのずるい
73デフォルトの名無しさん:2010/08/31(火) 01:04:47
import std.stdio;
struct S{
//ubyte[65528] m;// OK
ubyte[65529] m;// Access Violation
}

void main()
{
writeln(S());
}

なんだこれ?
ちなみに一定数(環境依存)を超えるとStack Overflowってのもあった
74デフォルトの名無しさん:2010/08/31(火) 07:27:59
Sをもう少し小さな構造体にしても

void main() {S[100] s;}

とかやると実行時Stack Overflowになるねぇ
75デフォルトの名無しさん:2010/08/31(火) 11:07:54
ここじゃ動くようだけど。
http://codepad.org/IAL91LHa

つか逆に大きな配列だからと勝手にヒープ確保されたらたまらん。
7673:2010/08/31(火) 14:51:34
>>75
そこ__VERSION__ == 1026だが
あと俺が言いたかったのはwritelnに渡すと・・・ってことだったんだが流石に伝わらんかったか
77デフォルトの名無しさん:2010/08/31(火) 19:36:22
なんかstd.file.listdir()が重い
→DirEntryを初期化してる部分を削ると100倍くらい早くなる
→更新日時とかを入れるときに使ってるstd.date.FILETIME2d_time()が
  他の処理の100倍くらい時間を食ってるっぽい

std.dateが徹底的にタコということでよろしいか?
78デフォルトの名無しさん:2010/08/31(火) 21:22:55
いままさにstd.date消してstd.time入れようぜって動きがある。
YaoとJohnathanに期待。
http://lists.puremagic.com/pipermail/phobos/2010-August/002187.html
79デフォルトの名無しさん:2010/09/01(水) 02:21:40
dusers.jp重い...
80デフォルトの名無しさん:2010/09/01(水) 03:41:48
ウェブページ保存したい場合はどうしたらいいんでしょう?
1・2どっちでもいいです。
81デフォルトの名無しさん:2010/09/01(水) 22:02:26
普通にHTTP喋って取ってくればいいんじゃない?
82デフォルトの名無しさん:2010/09/02(木) 00:06:19
TcpSocketなかったっけ
83デフォルトの名無しさん:2010/09/02(木) 19:27:37
Socket作るときにTCPを選べるようになってる

ただしstd.socketは間もなく(ry
84デフォルトの名無しさん:2010/09/02(木) 19:42:39
GUIライブラリは必要だよなぁ…

unix界隈で遊んでるような人にとってはカスみたいなものかもしれんけど
Win使ってる一般人とかそういう人向けにアプリ書いてる人から見れば
GUIライブラリの無い言語 == 存在しない言語 だからなぁ
85デフォルトの名無しさん:2010/09/02(木) 21:12:49
DWTがあるんじゃなかったのか
86デフォルトの名無しさん:2010/09/02(木) 21:35:11
cursesは?
87デフォルトの名無しさん:2010/09/02(木) 22:55:22
DWTはD2で動かない、というかTangoでしか動かない時点で詰んでる
D2に移植する途中で死んだみたいだし
88デフォルトの名無しさん:2010/09/03(金) 08:40:32
そのD2版のDWTってどこにあります?
オレ引きとって続き書くよ?
89デフォルトの名無しさん:2010/09/03(金) 17:46:53
スレ違いかもしれないですが、Descentについて質問です。
こちら http://www.dsource.org/projects/descent/ を参考に
インストール、設定を済ませたと思うのですが、
参考動画のようなオーバーライドの補完等ができません。

以下のように戻り値を受ける形だと補完されるのですが、
int a = str ( まで入力してCtrl+Space)
strやstdのみの補完や、
クラスメンバの関数やオーバーライドの補完が全く機能していません。
(op〜関数はopまで打つと補完されますが、
 super.opで保管しても super.override void op〜・・・ となり使えません)

JDTやインクルードパスは問題ないと思うのですが、
どの辺を注意したら良いでしょうか?
90デフォルトの名無しさん:2010/09/03(金) 19:04:32
>>88
http://hg.dsource.org/projects/dwt2
これがDWT2のリポジトリ。
91デフォルトの名無しさん:2010/09/03(金) 19:47:12
Tangoはライブラリじゃないぞ。
D1+Tangoというプログラミング言語だ。
いやD1ですらない。
druntimeというお情けがいつまでもらえるかはわからん。
92デフォルトの名無しさん:2010/09/03(金) 20:01:04
>>88
torhusという死に体のDWTに唯一パッチを送り続けていた人がいて、
一月半くらい前にとうとうforkした
ttp://bitbucket.org/torhus/dwt2

でもその後音沙汰が無い
彼に強力してあげてください
93デフォルトの名無しさん:2010/09/03(金) 20:10:59
Qt の D 版みたいなのってないのかな
94デフォルトの名無しさん:2010/09/03(金) 21:58:17
モロbindingがあるよ
ttp://www.dsource.org/projects/qtd
95デフォルトの名無しさん:2010/09/04(土) 00:53:01
QtD requires the ”patched” dmd compiler.
Σ゚(゚Д)
96デフォルトの名無しさん:2010/09/04(土) 02:01:51
char* sからchar[] dに変換する方法って↓しかない?
auto d = new char[n];
for(int i = 0; i < n; i++)d[i] = s[i];
9788:2010/09/04(土) 02:05:31
>>90 >>92
ありがとう。
どこまでできるかわからんけどやってみるよ!

>>93
やっぱりそういう需要ってあるよね。
Dの適用領域からいってDWTみたいなのは必要だと思うんだ。
98デフォルトの名無しさん:2010/09/04(土) 02:31:55
>>96
>char* sからchar[] dに変換する方法って↓しかない?
>auto d = new char[n];
>for(int i = 0; i < n; i++)d[i] = s[i];
d[] = s[];ってできない?
99デフォルトの名無しさん:2010/09/04(土) 02:49:35
>>98
s[]は出来ないね
ポインタは配列として扱った時
長さ情報持ってないからスライス出来ないって事かな
100デフォルトの名無しさん:2010/09/04(土) 02:52:06
GUIにWindows以外の需要がどのくらいあるかがいまいち分からんところだな