/QIPF_noPIC (位置に依存するコードの生成)
更新 : 2007 年 11 月
既定では、Itanium 用の Visual C++ コンパイラは、位置に依存しないコードを生成します。/QIPF_noPIC は、位置に依存するコードを持つイメージを生成します。
/QIPF_noPIC
解説
メモ : |
---|
/QIPF_noPIC は Itanium に対応するコンパイラでのみ使用できます。このコンパイラ オプションは、x64 や x86 に対応するコンパイラでは使用できません。 |
位置に依存しないコードは、指定したアドレスにイメージを読み込むことができない場合に、位置に依存するコードよりも高速で読み込むことができます。これは、イメージが指定アドレス以外のアドレスに読み込まれる場合に、位置に依存しないコードの相対アドレスは修正されないからです。また、Windows では、コードが修正されない場合は複数のユーザーが同じコードを共有できますが、修正されたコードのインスタンスは各ユーザーが個別に取得します。
ただし、指定したアドレスにイメージを読み込むことができない場合、位置に依存しないコードは、位置に依存するコードよりもパフォーマンスが劣る可能性もあります。たとえばサーバー アプリケーションは、起動時間が長くなったとしてもユーザーにとってはあまり問題とならず、またユーザーがそれらのアプリケーションを同時に複数実行することはめったにないので、位置に依存するコードを使用してより高いパフォーマンスを得ることができます。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
- /QIPF_noPIC は、Visual Studio 開発環境では使用できません。
このコンパイラ オプションをコードから設定するには
- AdditionalOptions を参照してください。