読者です 読者をやめる 読者になる 読者になる

reflection.d 2.0

Program D Bin

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 など

以前の話

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h