次の方法で共有


/QIPF_noPIC (位置に依存するコードの生成)

更新 : 2007 年 11 月

既定では、Itanium 用の Visual C++ コンパイラは、位置に依存しないコードを生成します。/QIPF_noPIC は、位置に依存するコードを持つイメージを生成します。

/QIPF_noPIC

解説

ms173509.alert_note(ja-jp,VS.90).gifメモ :

/QIPF_noPIC は Itanium に対応するコンパイラでのみ使用できます。このコンパイラ オプションは、x64 や x86 に対応するコンパイラでは使用できません。

位置に依存しないコードは、指定したアドレスにイメージを読み込むことができない場合に、位置に依存するコードよりも高速で読み込むことができます。これは、イメージが指定アドレス以外のアドレスに読み込まれる場合に、位置に依存しないコードの相対アドレスは修正されないからです。また、Windows では、コードが修正されない場合は複数のユーザーが同じコードを共有できますが、修正されたコードのインスタンスは各ユーザーが個別に取得します。

ただし、指定したアドレスにイメージを読み込むことができない場合、位置に依存しないコードは、位置に依存するコードよりもパフォーマンスが劣る可能性もあります。たとえばサーバー アプリケーションは、起動時間が長くなったとしてもユーザーにとってはあまり問題とならず、またユーザーがそれらのアプリケーションを同時に複数実行することはめったにないので、位置に依存するコードを使用してより高いパフォーマンスを得ることができます。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  • /QIPF_noPIC は、Visual Studio 開発環境では使用できません。

このコンパイラ オプションをコードから設定するには

参照

参照

/Q オプション (低水準の操作)

コンパイラ オプション

コンパイラ オプションの設定