D言語 Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/01/12(木) 21:15:04新進気鋭のプログラミング言語Dの総合スレッドです。
かつて高性能C++コンパイラで知られたDigital Mars社が送り出す
より実践的で、本当に使える仕様が目標にされています。
■参考URL
本家
http://www.digitalmars.com/d/
プログラミング言語 D (本家和訳)
http://www.kmonos.net/alang/d/
GCCフロントエンド gdc
http://home.earthlink.net/~dvdfrdmn/d/
http://gdcmac.sourceforge.net/
D言語研究
http://f17.aaa.livedoor.jp/~labamba/
0153デフォルトの名無しさん
2006/01/19(木) 02:26:56それ、おれも悩んだんだけど、
phobosをデバッグモードでコンパイルしたら出なくなった。
assert()がリリースモードじゃ消されてて、
でもテンプレートだからソース読んでくるから、
リリースモードのphobosに入っていないassertが存在してて、
リンクエラーになるのかと思ったんだけど、ちゃうかな。
0154デフォルトの名無しさん
2006/01/19(木) 17:04:33GUIライブラリもないのに最強はないなあ
0155デフォルトの名無しさん
2006/01/19(木) 17:30:02DFLとか?
0156デフォルトの名無しさん
2006/01/19(木) 17:45:260157デフォルトの名無しさん
2006/01/19(木) 17:47:010158デフォルトの名無しさん
2006/01/19(木) 18:56:04どっかにゲームならあったが
0159デフォルトの名無しさん
2006/01/19(木) 18:58:40duiを使ったのがあった。
今duiはコンパイル通らない。
0160デフォルトの名無しさん
2006/01/19(木) 19:04:25こないだGetStdHandle使おうと思ったら使えなくてへこんだ・・・
0161デフォルトの名無しさん
2006/01/19(木) 19:45:03wxDはどうなってるんだろう
0162デフォルトの名無しさん
2006/01/19(木) 20:02:06弱い○×ゲーム付。
0163デフォルトの名無しさん
2006/01/19(木) 20:11:02【Delphi互換!?】FreePascal【GPL】
http://pc8.2ch.net/test/read.cgi/tech/1137051510/
0164デフォルトの名無しさん
2006/01/19(木) 22:11:46GUIって使う側には優しくて好きなんですけど、作る側には優しくないん
ですね。
0165デフォルトの名無しさん
2006/01/19(木) 22:36:26作り方っていうか、ノウハウがわかってくれば
そんな苦でもないようなきがする。。
0166デフォルトの名無しさん
2006/01/19(木) 23:19:23GUI毎にAPIのポリシーや哲学みたいなものが違うのが最大の長所でもあり短所でもあるのでこればっかりはどうしようもないですねぇ。
0167デフォルトの名無しさん
2006/01/19(木) 23:21:380168デフォルトの名無しさん
2006/01/19(木) 23:24:32JavaのThinletってのがxmlでGUIの構造を定義してたよ。
LGPLだったからDに移植してみれば?(swing丸ごと必要だと死んじゃうけどさ)
0169デフォルトの名無しさん
2006/01/20(金) 00:02:370170デフォルトの名無しさん
2006/01/20(金) 00:10:510171デフォルトの名無しさん
2006/01/20(金) 00:13:080172デフォルトの名無しさん
2006/01/20(金) 00:14:480173デフォルトの名無しさん
2006/01/20(金) 00:21:04まあちょっと前に出た引数に日本語いれるとおかしくなるのは直して欲しいかな。
そんなもんじゃない?
0174デフォルトの名無しさん
2006/01/20(金) 00:33:54CKJなんてゴミとしか思われてないもん
0175デフォルトの名無しさん
2006/01/20(金) 00:49:500176デフォルトの名無しさん
2006/01/20(金) 00:58:360177デフォルトの名無しさん
2006/01/20(金) 01:01:24前はどう駄目だったの?
0178デフォルトの名無しさん
2006/01/20(金) 01:05:57文字コードは色々な思惑が入ったりしていて理論的ではないですし。
0179デフォルトの名無しさん
2006/01/20(金) 01:13:490180デフォルトの名無しさん
2006/01/20(金) 01:22:02自分専用ツールならいいけど、配布用のアプリには使えないね。
0181デフォルトの名無しさん
2006/01/20(金) 02:36:420182デフォルトの名無しさん
2006/01/20(金) 10:08:560183デフォルトの名無しさん
2006/01/20(金) 10:41:00cygwinのbashで環境変数LANGを書き換えればいけるけもしれない。
0184デフォルトの名無しさん
2006/01/20(金) 10:59:10ないわけですか?
0185デフォルトの名無しさん
2006/01/20(金) 15:34:00GCとか配列演算とか例外処理とかの言語機能そのものの実装なので、
ライブラリとして使うたぐいのものではないです
0186デフォルトの名無しさん
2006/01/20(金) 17:29:09Windows用のktermがあると思いましたけど。
0187デフォルトの名無しさん
2006/01/20(金) 17:34:53とりあえずck勧めとく。
0188デフォルトの名無しさん
2006/01/20(金) 18:30:20昔ckためしたときに出力だけは、変換されるのですが、
入力がMBSで入ってきた気がします。
あれ、入力の文字コードを設定できます?
0189デフォルトの名無しさん
2006/01/20(金) 18:39:12右クリックで選べる。
0190デフォルトの名無しさん
2006/01/20(金) 22:15:32なんとかしたいなぁ。
0191デフォルトの名無しさん
2006/01/20(金) 23:30:56使ったことないからわからないです。
そもそも、今まで文字コードを気にするようなものを
作ってこなかったなあ。
0192デフォルトの名無しさん
2006/01/21(土) 00:06:17ソースはWindows版はShift_JISを許容する。
なのでJ2EE+EclipseはデフォルトでShift_JIS(MS932)を使って開発ができる。
というかEclipseが文字コードの選択が出来る罠。
0193デフォルトの名無しさん
2006/01/21(土) 01:02:360194デフォルトの名無しさん
2006/01/21(土) 01:43:45ちょっと前のDirectXがある
0195デフォルトの名無しさん
2006/01/21(土) 03:23:570196デフォルトの名無しさん
2006/01/21(土) 10:51:180197デフォルトの名無しさん
2006/01/21(土) 12:14:260198デフォルトの名無しさん
2006/01/21(土) 12:25:390199デフォルトの名無しさん
2006/01/21(土) 12:31:200200sakurai
2006/01/21(土) 12:45:52久しぶりに2chみてたら、カッとしてやった。
今は後悔してる。
こんなにレスが付くとは思ってもみなかったんだ。
っていうかんじで。。。
ウォルターさんは、utf8使えゴルァ。
って感じで、一貫して昔から考えは変わっていないようです。
mangoか、iconvか、yanesdkかはわからんけど、
何らかの形でデファクトスタンダードを作っていくことが必要に思います。
writefなどの対応も、やるなら、phobos書き換えたライブラリを用意して、
毎回のバージョンごとに追従すると。
俺には根気がないので、無理かなぁと思ってます。
変換ライブラリは、dはハッシュ(連想配列)が使えるので、そいつに突っ込んでおけば
楽な気がします。
テーブルの初期化は、1GHzの俺のマシンで10msほどで済むようです。
あとは、プログラムサイズが大きくなるのがちょいと問題。
なんか、unicodeのサイトからテーブル生成してみたり、
javaからテーブル生成してみたり、そういったプログラムは書いてたんだけど
めんどくさくなってしまって動けなくなってしまったんで、
すまぬです。
また、気が向いたらやるかもしれません。
プログラムは、D言語研究に乗っけときます。
http://f17.aaa.livedoor.jp/~labamba/?%B9%F1%BA%DD%B2%BD%C2%D0%B1%FE
0201デフォルトの名無しさん
2006/01/21(土) 12:55:10OpenGLのフリップ速度に縛られてるんじゃないの?
ドライバのGLオプションでVSYNC同期とる設定になってるとか。
0202デフォルトの名無しさん
2006/01/21(土) 15:37:15大丈夫。ダレも本気でお前にレスとかしてるわけじゃない。
どうでもいい存在なんだよ。
0203デフォルトの名無しさん
2006/01/21(土) 17:12:08文字コード変換はまあ頑張れば方法はいくらでもあると思うが、
現状、自己流で各人が変換している状況に見える。
多分Dに新しく触れた人は同じ質問を繰り返すんじゃないかな?
そこに、選択肢の一つとして基本的な考えを作ろうという動きはありがたいと思う。
ただし、D言語は俺が守らねば、みたいにならず適当にやってればいいと思う。
いいもんだったら自然に誰かついてくし、いろんな手段が生まれてくるはず。
Dはもどかしさも含めて面白いと思うよ。
0205デフォルトの名無しさん
2006/01/21(土) 18:09:10はやく本気モードに移りたいんだがいまの状況ではモチベーションが維持できん。
0206デフォルトの名無しさん
2006/01/21(土) 18:36:34自分で作ったライブラリで公開しようと思うものを提供していって、
phobosに無いから自分で作ろうと思ったら、まずは既に作られていないかをそこで探せるなど。
そうしていくうちに、段々と「これといえばあれ」的な存在が出てきて、
ディファクトスタンダードになっていくんじゃないかな。
0207デフォルトの名無しさん
2006/01/21(土) 18:47:28ぜひぜひ作って下さい。
お願いします。
0208デフォルトの名無しさん
2006/01/21(土) 18:51:54仕様の変更やdmdのバージョンアップでDjcodeも修正無しでは
コンパイルできませんね。
DjcodeはCのソースを丸写しした感があるので元からちょっとアレでしたが。
0209デフォルトの名無しさん
2006/01/21(土) 19:06:16dsourceが一応そんな感じじゃないの?
0210デフォルトの名無しさん
2006/01/21(土) 19:12:12CやJAVAやboostと比較したのがあってもいいかもしれないと思う。
0211デフォルトの名無しさん
2006/01/21(土) 21:13:34dsourceは、大げさすぎて、
ちょっとした1ファイルライブラリを置く勇気がでないかなと思いまして。
公開する人の気軽さも必要だと思うのですよ。
>>207
言いだしっぺの法則かー!
0212デフォルトの名無しさん
2006/01/21(土) 23:25:05DelphiみたいなIDEがあるわけでもなし、正式版が出たとたん終わりそう・・・
0213デフォルトの名無しさん
2006/01/21(土) 23:46:56gdcが使えなくなることはないと思いますよ。
たいして浸透することもなさそうなので、そこま
で強気な態度をとることはできないかと。
0214デフォルトの名無しさん
2006/01/22(日) 02:18:23DelphiみたいなIDEがあるわけでもなし、正式版が出たとたん終わりそう・・・
0215デフォルトの名無しさん
2006/01/22(日) 02:36:41横やりを入れてみます。
アイデアキボウ。
0216デフォルトの名無しさん
2006/01/22(日) 03:24:10モジュールの正式版は普通に載せて、開発版は評価、バグ報告等の
コメントを寄せることができる掲示板風にしてはどうでしょうか?
ダウンロード数を表示するのも面白いかも。多ければ励みになりま
すし。やはり開発側のモチベーションを高める仕掛けは必須だと思
います。
0217デフォルトの名無しさん
2006/01/22(日) 04:14:36コードを載せるつもりが現状無い人にもとりあえず
アカウント登録してもらえるようなサイトにして、
「あー、せっかくつくったからとりあえずのせておこう」という
具合に供給を刺激するのがいいんじゃないかなぁと思う。
0218デフォルトの名無しさん
2006/01/22(日) 04:19:57気付いたらのめり込んでるみたいな?
で、気付いたら常連みたいな?
それ上手いですね。
0219デフォルトの名無しさん
2006/01/22(日) 05:15:150220デフォルトの名無しさん
2006/01/22(日) 05:32:22良いライブラリ作って下さい。
期待してます。
0221デフォルトの名無しさん
2006/01/22(日) 12:01:09そこにソースがある限り、皆でよってたかって改善するんだぞ。
それには終わりは無い。
0222デフォルトの名無しさん
2006/01/22(日) 14:07:02実際には一部の者が独占的に開発を行う
パッチを投げてもスルーが基本
例外的な幸せ体験を触れ回るのは、
北朝鮮がパラダイスだと心の底から噂した人たちと同じ行為だ
0223デフォルトの名無しさん
2006/01/22(日) 14:39:190224デフォルトの名無しさん
2006/01/22(日) 15:01:01少なくともFirefoxはオープンソースで成功していると思うぞ。
実際に技術力がある一般人がゴロゴロいるってほどでもないけどな。
</チラシの裏>
0225デフォルトの名無しさん
2006/01/22(日) 15:11:590226デフォルトの名無しさん
2006/01/22(日) 16:05:420227デフォルトの名無しさん
2006/01/22(日) 19:39:43Readerクラス、Writerクラスが自動的(あるいは任意)に言語を補完してくれる
みたいなライブラリがphobosに詰められれば解決なんだろうけど。
0228デフォルトの名無しさん
2006/01/22(日) 20:14:57D言語自体ぐだぐだなんだから仕方ないだろ。
0229デフォルトの名無しさん
2006/01/22(日) 23:52:130230デフォルトの名無しさん
2006/01/22(日) 23:53:280231デフォルトの名無しさん
2006/01/23(月) 00:34:02uint stride(char[] s, uint i);
ってs[i]がシーケンスの開始でない場合は0xFFを返すけどなぜだろう?
0を返すという仕様ではまずいのかな?
0232デフォルトの名無しさん
2006/01/23(月) 01:09:50エラー処理してないこんなやつが無限ループになるのを嫌ったか、
単に不正な値であることを強調したかったか。
0233デフォルトの名無しさん
2006/01/23(月) 01:19:28まあ、strideが255になる世の中ってのはこないとは思うけども。
地球外の文字集合を入れ込まない限り。
0234デフォルトの名無しさん
2006/01/23(月) 03:56:402004年のリリースだけど大丈夫かな?あやしい?
0235デフォルトの名無しさん
2006/01/23(月) 06:39:130236デフォルトの名無しさん
2006/01/23(月) 14:08:370237デフォルトの名無しさん
2006/01/23(月) 18:25:500238デフォルトの名無しさん
2006/01/23(月) 21:47:250239デフォルトの名無しさん
2006/01/23(月) 22:19:04WNDCLASSEXとか宣言されてないけどどうなの?>std.c.windows.windows
0240デフォルトの名無しさん
2006/01/23(月) 22:25:51http://www.kmonos.net/alang/d/htomodule.html
自分で宣言すべし
0241デフォルトの名無しさん
2006/01/23(月) 22:26:570242デフォルトの名無しさん
2006/01/23(月) 22:36:24おk、自分で宣言してるよ。
0243117
2006/01/24(火) 07:51:13http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/6058
デカい配列はGCとは相性が悪いのでそういうのは自前でdeleteすべし。
class LargeArrayWrapper(T) {T[] buf; ~this(){delete buf;} ...}
みたいなのを経由してアクセスするようにすると楽だよん。
というありがたいお返事をいただいたので一応報告。
0244デフォルトの名無しさん
2006/01/25(水) 01:37:59deleteってデストラクタ呼ぶだけではなくて、GCからも削除されるのですか?
と思ったので確認してみたら、
>プログラムは、オブジェクトがもはや参照されないことを(delete式によって)
>ガベージコレクタへ明示的に伝えることもできます。
> この場合はGCはすぐに デストラクタを呼び出し、
>オブジェクトのメモリを自由領域へ戻します。
なんて記述があったのですが、これはつまり、他から参照がある領域でもdeleteなら開放できるという認識でOKでしょうか?
昔からこうでしたっけ?
0245デフォルトの名無しさん
2006/01/25(水) 02:00:21結構前からその文は入っていたように思いますよ.
0246デフォルトの名無しさん
2006/01/25(水) 15:56:54std.stream.BufferedFile 使うとなぜか4GBのファイルに膨れ上がる。
何が悪いんだろう?
std.stream.File なら問題ない。
BufferedFile に対して writeBlock 使うのはいかんのだろうか?
根本的にやり方間違ってる?
Windows版 dmd, Cygwin gdc の両方で同じ現象を確認。
import std.stream;
int main(char[][] args)
{
Stream fd_img = new BufferedFile("test.img", FileMode.In | FileMode.Out);
// Stream fd_img = new File("test.img", FileMode.In | FileMode.Out);
fd_img.seekSet(0);
ubyte buf[1];
buf[0] = 0x99;
uint write_size = fd_img.writeBlock(&buf[0], 1);
fd_img.close();
return 0;
}
0247デフォルトの名無しさん
2006/01/25(水) 18:36:08うちの環境ではなんともないでした。
実行形式も300KBちょいでした。
環境:VineLinux3.2 dmd0.143 pentium4
0248デフォルトの名無しさん
2006/01/25(水) 18:44:34すでにデータがあるところに書き込もうとすると
(上のプログラムだと二度目の起動)
Error: unable to move file pointer(File.seekにて)
とはじいてくれる。なんかおかしいかも。
0249244
2006/01/25(水) 18:54:03去年くらいにD言語をやろうと決めて、日本語サイトをざっと見たときに
deleteは単にデストラクタを呼び出すだけで、
メモリが開放されるかはGCがきめると書いてあったような気がしたのですが、
気のせいだったかもしれません。どうもです。
0250デフォルトの名無しさん
2006/01/25(水) 19:14:160251デフォルトの名無しさん
2006/01/25(水) 19:22:03std.stream:2080-
// opens file in requested mode and buffer size
this(char[] filename, FileMode mode = FileMode.In,
uint bufferSize = DefaultBufferSize) {
super(new File(filename,mode),bufferSize);
}
0252デフォルトの名無しさん
2006/01/25(水) 19:59:43deleteはデストラクタを呼ぶだけで、即インスタンスを
開放してくれるわけではありませんね。
■ このスレッドは過去ログ倉庫に格納されています