シンボルテーブル | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

処理系が作成するテーブルで、シンボルソースコードに現れる名前、あるいはそこに追加情報を付加したもの)と、そのメモリアドレスなどの対応関係を一覧にしたテーブルです。

コンパイラが生成するオブジェクトファイルには、グローバル変数のように外部からみえる場所にあるシンボルに関する情報を集めたシンボルテーブルが含まれることがあり、リンクの過程で、リンカが参照解決のために使用します。

リンカは、最終的に出力される実行可能ファイルの中にシンボルテーブルを含めたり、マップファイルとして独立して出力したりできます。こういった情報が存在することによって、デバッガ変数を表示したり(ウォッチ)、関数の呼び出し履歴(コールスタック)を表示したりするときに、把握しづらいメモリアドレスではなく、シンボル名を提示することができるようになり、分かりやすくなります。また、プログラマーも、各シンボルがメモリ上のどこに配置され、どれだけの領域を取っているのか(予想外に多くのメモリを使っているコードを見つけられる)、近くに配置されているものは何か(バッファオーバーランの調査などで役に立つことがある)といったことを把握することができます。


参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る