20

PIC に関するこの投稿を読みましたが、常に PIC を使用するのが良いようです (exe / static / share library の場合はいつでも)。

では、デメリットは?
PIC を使用しない場合の詳細な例はありますか?

4

2 に答える 2

4

x86 を含む一部のアーキテクチャでは、データのロード/ストアでさらに悪いコード (関数呼び出しなど) が-fPIC生成されます。これはライブラリには許容できますが、実行可能ファイルには望ましくありません。

amd64 命令セット (および最近の gnu-x32 ABI) の主なセールス ポイントの 1 つは、効率の問題を解決する「PC 相対ロード/ストア」命令の追加です。

強化されたシステムでは通常、すべての実行可能ファイル有効-fPIEになることに注意してください。アドレス空間のレイアウトがランダムになるためです。

于 2015-07-10T04:33:53.147 に答える