共用方式為


/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 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  3. 在 [其他選項] 方塊中,輸入編譯器選項。

若要以程式方式設定這個編譯器選項

另請參閱

/Q 選項 (低階運算)
MSVC 編譯器選項
MSVC 編譯器命令列語法