先日紹介した、ttk::treeview のサンプルを応用して、Linux 上でクロスコンパイルしたバイナリが使用する DLL をチェックするプログラム、wbc - Win32 Binary Checker を作ってみました。動作環境は、Fedora 8 (Linux) / Tcl/Tk 8.5.0 です。
Tcl/Tk 8.5.0 での実行例
MinGW クロスコンパイラで生成した.exe や .dll の拡張子がついたバイナリ ファイル名 に対して、
exec i386-mingw32-objdump -p ファイル名 | grep "DLL Name:"
を実行して得られる、ファイル名 が依存している DLL のリストを、そのファイルのノード下に表示するプログラムです。なお、GUI の部分で使えるところは全てテーマ・ウィジェットを利用しています。
とりあえず、自分のアカウント内でコンパイルした Tcl/Tk 8.5.0 を使っていますが、Fedora で配布されている Tcl/Tk が 8.5 系に対応するまで待つとすると、随分先のことになりそうですので、8.4 系でも動作するようなプログラムにして、プロジェクトサイトにアップロードしようと考えています。
【追記】
Fedora 8 / Tcl/Tk 8.4.x 用に tile-0.8.2 の RPM パッケージ (tile-0.8.2-1.fc8.i386.rpm) を作成して、wbc を Tcl/Tk 8.4 系でも動作するように修正を加えました。フォント表示が異なる他は、機能的に違いはありません。なお、Tcl/Tk 8.4 系(Tcl/Tk 8.4.5 以上)では、拡張パッケージ tile をロードすれば Ttk を Tcl/Tk 8.5.0 と同じように利用できます。
Tcl/Tk 8.4.15 での実行例
wbc をパッケージとして公開するためには、少しドキュメントを用意する必要がありますし、Win32 Binary Checker という名前の割には機能的に寂しいので、もう少し機能を吟味、追加してから公開したいと思います。
0 件のコメント:
コメントを投稿