/QIfist (隱藏 _ftol)
已取代。 在必須從浮點類型轉換為整數類型時,抑制對 Helper 函式 _ftol
的呼叫。
語法
/QIfist
備註
注意
/QIfist 僅適用於以 x86 為目標的編譯程式;此編譯程式選項不適用於以 x64 或ARM 為目標的編譯程式。
除了從浮點類型轉換成整數型別之外,函 _ftol
式會藉由設定控制字組的位 10 和 11,確保浮點單位 (FPU) 的四捨五入模式為零(截斷)。 這可確保從浮點型別轉換成整數型別,如 ANSI C 標準所描述(捨棄數位的小數部分)。 使用 /QIfist 時,此保證已不再適用。 四捨五入模式將是 Intel 參考手冊中記載的四種模式之一:
四捨五入至最接近 (即使等號)
向負無限四捨五入
向正無限四捨五入
四捨五入為零
您可以使用 _control87、_controlfp、__control87_2 C 執行時間函式來修改 FPU 的四捨五入行為。 FPU 的預設四捨五入模式是「四捨五入至最接近」。使用 /QIfist 可以改善應用程式的效能,但不需有風險。 您應該先徹底測試程序代碼中對四捨五入模式敏感的部分,再依賴生產環境中以 /QIfist 建置的程序代碼。
/arch (x86) 和 /QIfist 不能用於相同的編譯和。
注意
/QIfist 預設不會生效,因為四捨五入位也會影響浮點到浮點四捨五入(在每次計算之後發生),因此當您設定 C 樣式的旗標(朝零)四捨五入時,您的浮點計算可能會不同。 如果您的程式代碼取決於截斷浮點數小數部分的預期行為,則不應該使用 /QIfist 。 如果您不確定,請勿使用 /QIfist。
從 Visual Studio 2005 開始,/QIfist 選項已被取代。 編譯程式已大幅改善 float 到 int 轉換速度。 如需已被取代的編譯程式選項清單,請參閱依類別列出的編譯程式選項中已被取代和移除的編譯程序選項。
在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
在 [其他選項] 方塊中,輸入編譯器選項。
若要以程式方式設定這個編譯器選項
- 請參閱 AdditionalOptions。