gpt4 book ai didi

c++ - 确定处理器对 SSE2 的支持?

转载 作者:IT老高 更新时间:2023-10-28 22:31:59 26 4
gpt4 key购买 nike

我需要在安装软件之前确定处理器对 SSE2 的支持。据我了解,我想出了这个:

bool TestSSE2(char * szErrorMsg)
{
__try
{
__asm
{
xorpd xmm0, xmm0 // executing SSE2 instruction
}
}
#pragma warning (suppress: 6320)
__except (EXCEPTION_EXECUTE_HANDLER)
{
if (_exception_code() == STATUS_ILLEGAL_INSTRUCTION)
{
_tcscpy_s(szErrorMsg,MSGSIZE, _T("Streaming SIMD Extensions 2(SSE2) is not supported by the CPU.\r\n Unable to launch APP"));
return false;

}
_tcscpy_s(szErrorMsg,MSGSIZE, _T("Streaming SIMD Extensions 2(SSE2) is not supported by the CPU.\r\n Unable to launch APP"));
return false;
}
return true;
}

这行得通吗?我不太确定如何测试,因为我的 CPU 支持它,所以我不会从函数调用中得到错误。

如何确定对 SSE2 的处理器支持?

最佳答案

我在 MSDN 中偶然发现了这个。 :

BOOL sse2supported = ::IsProcessorFeaturePresent( PF_XMMI64_INSTRUCTIONS_AVAILABLE );

仅限 Windows,但如果您对任何跨平台的东西不感兴趣,非常简单。

关于c++ - 确定处理器对 SSE2 的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com