FromNandの日記

自分的備忘録

【位置独立コード】PICやPIEについて

↓によると、PIE(position-independent executable)とは、PIC(position-independent code)だけから構成された実行形式のこと

https://ja.wikipedia.org/wiki/%E4%BD%8D%E7%BD%AE%E7%8B%AC%E7%AB%8B%E3%82%B3%E3%83%BC%E3%83%89

 

おそらく最もわかりやすいサイト↓

https://eli.thegreenplace.net/2011/11/03/position-independent-code-pic-in-shared-libraries/

 

実際に位置独立の実行形式を作成する例が日本語で載っている

http://0xcc.net/blog/archives/000109.html

 

gccコンパイラオプションでは、「-fpic」は位置独立コード、「-fpie」は位置独立実行形式を作成するオプションである。

反対に「-fno-pic」や「-fno-pie」は位置依存コードを生成する。

「-fpic」と「-fPIC」の違いなどについてはよくわかったいない