reflection.d 2.0
http://shinh.skr.jp/d/reflection.tar.bz2
reflection.d を最近得た知識から書きなおして、引数に nm の出力や map ファイルを取る必要をなくしました。 Win32 では Win32API を用いて、その他環境では libbfd を用いて実行ファイル自身からシンボルテーブルを取得し、 reflection を行います。
結論としては、 Win32 では libbfd より Win32API を使った方がはるかにいい。というか Win32API よくできてるなと、今頃何言ってるんだ系。
あとビルドがそれなりに大変なのでバイナリ (test_reflection.exe と reflection_c.dll) をつけました。
TODO
- dfilt.d をもうちょい変える → dfilt.d をリリースしなおし
- reflection.d の loadBFD がクイックハックチックでいいかげん。そもそもこれえらい実行効率悪くないか。
- reflection.c が win32 の dll 対応してない(WINEでテストできないため) → shelang をリリースしなおし
- サイト上に reflection.d へのリンクが無い気がする
- ドキュメントと、 API などのみなおし
- OSX など
以前の話