PIC に関するこの投稿を読みましたが、常に PIC を使用するのが良いようです (exe / static / share library の場合はいつでも)。
では、デメリットは?
PIC を使用しない場合の詳細な例はありますか?
PIC に関するこの投稿を読みましたが、常に PIC を使用するのが良いようです (exe / static / share library の場合はいつでも)。
では、デメリットは?
PIC を使用しない場合の詳細な例はありますか?
x86 を含む一部のアーキテクチャでは、データのロード/ストアでさらに悪いコード (関数呼び出しなど) が-fPIC
生成されます。これはライブラリには許容できますが、実行可能ファイルには望ましくありません。
amd64 命令セット (および最近の gnu-x32 ABI) の主なセールス ポイントの 1 つは、効率の問題を解決する「PC 相対ロード/ストア」命令の追加です。
強化されたシステムでは通常、すべての実行可能ファイルが有効-fPIE
になることに注意してください。アドレス空間のレイアウトがランダムになるためです。