_set_SSE2_enable
啟用或停用使用 CRT 數學常式的 Streaming SIMD Extensions 2 (SSE2) 指令。(這個函式是在 x64 架構上沒有預設,因為 SSE2 啟用)。
int _set_SSE2_enable(
int flag
);
參數
- flag
啟用 SSE2 實作的 1;停用 SSE2 實作的 0。根據預設, SSE2 實作在支援它的處理器啟用。
傳回值
如果不是零, SSE2 實作已啟用;零,如果 SSE2 實作停用。
備註
下列函式有 SSE2 使用 _set_SSE2_enable,可以啟用的實作:
這些函式的資料實作比預設實作會提供一些不同的回應,,因為 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。如需詳細資訊,請參閱平台叫用範例。