D言語

メモ void call(int delegate(int num) func) { printf("%d\n", func(10)); } void call(int function(int num) func) { printf("%d\n", func(20)); } class Hoge { int foo(int num) { return num; } int OnInit(int num) { printf("call OnInit\n%d\n", nu…

delete を行うほとんどの関数の名前が ClassName_Delete だったのに、ひとつだけ ClassName_Release ってのがあった、、、167個中1個、罠ですか?たまたま目の前にあったから気づいた…。 ところで、wxD という名前はすこし見た目が良くないから、wxDee にし…

D言語からwxWidgetsを呼ぶために使っているwxHaskellが更新された on_ まだあまりすすんでないから良かったけど。とりあえず、version 0.8 で固定して進めよう。

よくCのヘッダファイルをD用へと変換する作業が非常に面倒くさいと言う人がいるが(2chあたりで)、実は慣れるとそんな面倒なものではない。 wxWidgets や前回やった作業の手順の一部を、少しだけだが晒してみる。*1 関数の定義は普通複数のヘッダファイルに分…

dmd v.0.96 からの「Invalid UTF characters in string literals now diagnosed.」というバグ(?)FIXから、"" で囲まれた中にShift-JISが埋め込められなくなった。r"ほげ" とやるか `ほげ` とやればいいのだが、 \n やら \t やらが無効になってしまうため、非…

http://andy.tadan.us/d/ SWIG/D がアップデートしていました。変換精度がどの程度まで上がったのかあとで試してみよう。

2ch のD言語スレの part4 が立ってたので part3 をキャッシュしておく。http://cgi.f3.aaacafe.ne.jp/~null/cache/1091207445.html 終わり方が面白かった。

結局 .lib の問題は良く分からないのであとで解決するということにして、今回は LoadLibrary で代用。あとはクラスでラッピングしなおすだけか(それが一番面倒デス*1 )。このままじゃWindows専用でマルチプラットフォームなライブラリを使う意味がないな…。 …

$ dmd test.d test.lib c:\dmd\bin\..\..\dm\bin\link.exe test,,,test.lib+user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reservedtest.lib Warning 140: Library probably needs FIXLIB …

はまった

D言語でWindowsアプリケーションを作っていたわけだが、DialogBox のコールバック関数を、C++からコピペしてとりあえず使っていたのだが、どうしてもコールバック関数内で異常終了していた。1時間くらい悩んでいたわけだが、switch に default: break; をつ…

可変引数続き。http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/4557ナゼこれはTemplateで実装しているんだろうか。 import std.stdarg; class Arguments { private: TypeInfo typeinfos; void* pointers; int len; public: this(TypeInfo[] inf,…

version 0.93 で、可変引数の取り扱いが変ったようだ。(従来のものも使えるだろうが) ・可変引数関数用の_arguments[] と _argptrを追加 D言語研究のニュースより引用 void main() { test(1, 3, 5); } void test(...) { foreach (int i, TypeInfo ti; _arg…

http://user.script.nu/~ahiru/bbs.cgi D言語で書いた掲示板。dmd と gdc の違いではまってるところを、sakuraiさんに助けてもらう。分からないところが分かったら、サンプルとしてどこかに置こう。 Response res; Request req; void main() { res = new Res…

h2d http://www.dsource.org/projects/h2d/ .h から .d へ変換する奴あったのか。D言語で書いて欲しかったねhttp://www.dsource.org/projects/ Dsource、プロジェクトがちょっと増えてる 先日のD言語用CGIライブラリ、unittest したら assert に引っかかった…

dmd の ver.0.92 が出たようだ。関数のデフォルト引数に対応してる!

DJcodeに昨日のものを取り込んだものをhttp://www.wikiroom.com/sakurai/?DJcode#content_1_11に置いておく。

DでCGIを少し書く。http://www.atari-soldiers.com/libs.htmlのCGIライブラリを、最新の環境でコンパイルできるように弄って使った。漢字変換はDJCodeでいいが、判定はどうしようか。 こちらの漢字コード変換ライブラリの中の、AutoDetect関数をそのまんまD…

FreeBSD用としてコンパイル...出来た、けど実行できない。AAAでも。自分には何が悪いのかワカラン...。他のFreeBSD鯖で実行してみたら、 %./test.cgi /usr/libexec/ld-elf.so.1: ./test.cgi: Shared object has no run-time symbol table と。…。アスキーモ…

dmd 0.90 で、C++のクラスを interface で代用させるコードをコンパイルしなおしてみたら、見事に動かなく。止まる。謎。mixinの影響かしら。

http://www.script.nu/~ahiru/d-man.svgSodipodi*1 で描いた Dマン。 *1:http://www.globe.to/~oka326/?sodipodi

Dig-Dug(http://www.digitalmars.com/drn-bin/wwwnews?D/27575) 名前からしてDigで作ったディグダグかなぁと思ってよく読んだらデバッガかヨ!分かりづらすぎ。入れてみた。Error: SciLexer.dll is required for Scintilla. と出るので http://scintilla.sou…

もはやカテゴリはどうでもいいね

うーむ、手元の DirectX は DirectX 9.0b (4.09.0000.0902) だ。不思議。hdklib40411 で動いた動いた、良かった。Vertex Shader 2.0 以降とか使われたらビデオカードが対応してないので動かないけど :(

カテゴリに迷う

http://hp.vector.co.jp/authors/VA031566/ 4/10 Mikoto のモーションがだいぶ出来てきてるようで、自分でやることを放棄。んで、手元で動かしてみようと思ったら Error: Couldn't find symbol D3DXCreateFont in library d3dx9d.dll d3dx9d.dll の中をのぞ…

http://moephp.org/openal.html OpenAL*1 の porting 作った。nVIDIA ベース。定数はライブラリから取得するべきだ、という nVIDIA の主張にのっとって、InitializeOpenALEnums() を呼ばないといけないことに注意。 private import openal; void main() { in…

Python/D(http://www.scratch-ware.net/D/) Python はまったく分からないが、Dから Python が弄れるようだ(よく読んでないが)。3D製作系なソフトだと、組み込みスクリプトは Python が主流なようで、メタセコイアが Python に対応したというニュースは記憶…

Diki用のD言語用ハイライト表示の拡張が!(http://www.wikiroom.com/sakurai/) Blackerさんが改造したやつがベースのようだ。その sakurai さんに指摘してもらって、こっち のバグを修正できました。感謝(気づくの遅すぎ _no )

ODE4D

http://moephp.org/ode4d/ ページ作ってみた。無性に手書きHTMLでページを作りたかったのだ…。Lint も100点にした*1D言語で物理エンジン使えるようになって、何がうれしいのかわからないし、自分であまり使うとも思えない :P ODE よりは Tokamak のほうが好…

物理エンジンの ODE*1 のD言語用 porting 作った。が、ODE側のミスで DLL にエクスポートされてない関数が7個もあったのでそれの調整したら公開することにする。あ、サンプル書いてからにしよう…。ODEはPS2なゲームにも使われた実績があるようなので、機能的…

DMD ver.0.82(http://www.digitalmars.com/d/changelog.html#new081) 主にバグFIX

Another front end for GCC(http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/518) (via id:shinichiro_h:20040323#p1)