問題タブ [symbol-tables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - CでELFシンボルテーブルにアクセスする
模倣するプログラムを書いていますelfdump -ecps
現在、elfヘッダー、プログラムヘッダー、およびセクションヘッダーが正しく出力されますが、シンボルテーブルの最後のいくつかの部分でスタックしています。
目的の出力は次の形式です。
oth、ver、shndx、nameがどこにあるか教えていただけますか?
これまでのところ、私はそれを次のように印刷しています:
http://docs.oracle.com/cd/E19457-01/801-6737/801-6737.pdf (第5章)を読んでいますが、役立つものを見つけることができませんでした
compiler-construction - シンボル テーブルにスタックを使用するかどうか
私はコンパイラの作成に取り組んでおり、シンボル テーブルを実装する 2 つの異なる方法を示唆するテキストに出くわしました。1 つの場合、スタックに格納されるネストのレベルごとにシンボル テーブルがあります。2 番目のオプションでは、シンボル テーブルは 2 つしかありません。1 つのシンボル テーブルはすべてのエントリを維持するために構築され、もう 1 つはプライマリ テーブルへの変更を追跡するために使用されます。その特定のブロック。これらのさまざまな実装の長所と短所は何ですか? 個々のブロックのシンボルテーブルを削除する限り、最初のオプションの方が高速になると確信していますが、これにはいくらかのオーバーヘッドが伴います (これについては不明です)。2 つ目は、多くの宣言を含む大きなブロックを削除する場合に限り、明らかにリソースを大量に消費します。