Skip to content
Latchkey

位置独立コード(PIC)とは?

位置独立コードは、プログラムカウンタに対して相対的に、あるいは間接テーブルを介してアドレスを参照するため、メモリ上のどこに置かれても正しく実行される機械コードです。ロード位置が変わると壊れてしまうハードコードされた絶対アドレスを避けます。共有ライブラリは、任意のアドレスにマップできるよう通常この方法でコンパイルされます。

なぜ重要か

PICは、1つの共有ライブラリがプロセスごとに異なるアドレスにロードされることを可能にし、アドレス空間配置のランダム化を支えます。それがなければ、ライブラリをロード時に自由に再配置できません。

関連ガイド