/QIPF_fr32 (請勿使用上層的 96 浮點暫存器)
為 Itanium 進行編譯時,告知編譯器只使用較低的 32 浮點暫存器,而不要使用較高的 96 浮點暫存器。
/QIPF_fr32
備註
注意事項 |
---|
/QIPF_fr32 僅能在適用於 Itanium 的編譯器中使用。以 x64 或 x86 為目標的編譯器中,無法使用這個編譯器選項。 |
撰寫裝置驅動程式,它在核心模式內容中執行,極力推薦您用 /QIPF_fr32 進行編譯。 如果應用程式切換出核心模式之外,其較高的 96 暫存器中有一個不完整,如果發生了一次插斷,就會產生這種現象,應用程式會在切換回使用者模式時失敗。 請考慮下列案例:
發生插斷時,應用程式是在使用者模式中執行。
控制項傳遞至核心,而較高的 96 浮點暫存器並未儲存。
核心呼叫不用 /QIPF_fr32 編譯的驅動程式。
驅動程式終結了其中一個較高的浮點暫存器
驅動程式回到核心模式。
核心從插斷切換回來,其中一個應用程式的較高浮點暫存器已終結。
除了給予從核心模式切換回使用者模式的應用程式正確性以外,/QIPF_fr32 也加強了在使用者模式中內容變更的效能 (較高的 96 浮點暫存器不必進行儲存或重新載入)。
在 Visual Studio 開發環境中設定這個編譯器選項
- 在 Visual Studio 開發環境中,無法使用 /QIPF_fr32。
若要以程式方式設定這個編譯器選項
- 請參閱 AdditionalOptions。