1

入力として与えられた変数に関する情報を抽出できる libdwarf ライブラリを使用して、Windows で C でプログラムを作成したいと考えています。プログラムは、変数のバイト単位のサイズと型 (unsigned、signed、float) を出力する必要があります。

これまでのところ、Windows でライブラリをコンパイルできましたが、すべてのライブラリ関数を理解するのに苦労しています。必要なのは、文字列 (変数の名前) を受け取り、DIE オフセットを出力する関数です。その後、他の関数を使用して、指定された DIE オフセットで型属性を抽出できます。

そのような機能は存在しますか?

4

1 に答える 1

0

Windows は実行可能ファイルに ELF ではなく PE 形式を使用するため、Windows でこれを行うのは奇妙に思えます。

libdwarf を使用すると、変数のサイズと型を把握できるはずですが、その高レベルで動作する関数がライブラリにありません。1. dwarf_next_cu_header を使用してコンパイル ユニットを反復処理する 2. dwarf_siblingof を使用して CU 内の最初の DIE を取得する 3. DIE ツリーをたどって必要な DIE を見つける 4. その DIE に関する情報を取得する

于 2014-04-11T00:22:13.623 に答える