_set_SSE2_enable
啟用或停用使用 CRT 數學常式中的 Streaming SIMD Extensions 2 (SSE2) 指令。(因為預設上 SSE2 會是啟用的,這個函式在 x64 架構上是不可用的。)
int _set_SSE2_enable(
int flag
);
參數
- flag
1啟用 SSE2 實作;0則停用 SSE2 實作。 根據預設, SSE2 實作在支援它的處理器啟用。
傳回值
如果SSE2 實作已啟用,則非零;如果SSE2 實作停用,則是零。
備註
下列函式有可藉由使用**_set_SSE2_enable**來啟用SSE2的實作:
這些函式的資料實作比預設實作會提供一些不同的回應,因為 SSE2 中繼值是 64 位元浮點數量,但預設實作中的值是 80 位元浮點數量。
注意事項 |
---|
如果您使用 /Oi (產生內建函式) 編譯器選項編譯專案,可能會使 _set_SSE2_enable 沒有作用。/Oi 編譯器選項給編譯器權限使用內建取代 CRT 呼叫;這個行為覆寫 _set_SSE2_enable的作用。如果您要確保 /Oi 不會覆寫 _set_SSE2_enable,請使用 /Oi- 來編譯專案。當您使用隱含 /Oi的其他編譯器參數時,這也可能是很好的作法。 |
如果所有例外狀況有遮罩,則才可用SSE2 實作。 使用 _control87, _controlfp 已處理遮罩例外狀況。
需求
常式 |
必要的標頭 |
---|---|
_set_SSE2_enable |
<math.h> |
如需詳細資訊,請參閱介紹中的 相容性 。
範例
// crt_set_SSE2_enable.c
// processor: x86
#include <math.h>
#include <stdio.h>
int main()
{
int i = _set_SSE2_enable(1);
if (i)
printf("SSE2 enabled.\n");
else
printf("SSE2 not enabled; processor does not support SSE2.\n");
}
Output
SSE2 enabled.
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。