Share via


/Oi (產生內建函式)

會以內建或可協助應用程式快速執行之其他特殊形式的函式取代一些函式呼叫。

/Oi[-]

備註

使用內建函式的程式會比較快速,因為它們沒有函式呼叫的額外負荷,但是也會因為額外建立的程式碼而比較大一些。

如需具有內建形式之函式的詳細資訊,請參閱 intrinsic

/Oi 只是要求編譯器以內建取代一些函式呼叫;如果函式可以產生更高效能,編譯器還是可以呼叫函式 (而不以內建取代函式呼叫)。

x86 專屬資訊

內建浮點函式不會對輸入值執行任何特殊檢查,所以必須在限制的輸入範圍內運作,並且擁有不同於具有相同名稱之程式庫常式的例外處理和界限條件。 使用真正的內建形式意味著會喪失 IEEE 例外處理,並且也會喪失 _matherrerrno 功能,而後者也意味著喪失 ANSI 一致性。 然而,內建形式可以顯著地加快浮點密集程式,而且對於許多程式而言,一致性的問題並沒有多少實用價值。

您可以使用 Za 編譯器選項,覆寫真正內建浮點選項的產生。 在這種情況下,函式會被建立為直接傳遞引數給浮點晶片,而不是將它們推入程式堆疊的程式庫常式。

x86 專屬資訊結束

您也可以使用 intrinsic 建立內建函式,或使用 function (C/C++) 明確地強制執行函式呼叫。

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  2. 按一下 [C/C++] 資料夾。

  3. 按一下 [最佳化] 屬性頁。

  4. 修改 [啟用內建函式] 屬性。

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

請參閱

參考

/O 選項 (最佳化程式碼)

編譯器選項

設定編譯器選項

Compiler Intrinsics