我想构建VS2010 CRT库的一些功能稍微修改版本,除了它试图访问一个全局变量,大概持有指令集架构版本(ISA):得到SSE版本没有__asm在x64
if (__isa_available > __ISA_AVAILABLE_SSE2)
{
// ...
}
else if (__isa_available == __ISA_AVAILABLE_SSE2)
{
// ...
}
值应保持在我的汇编文件中发现
__ISA_AVAILABLE_X86 equ 0
__ISA_AVAILABLE_SSE2 equ 1
__ISA_AVAILABLE_SSE42 equ 2
__ISA_AVAILABLE_AVX equ 3
如何以及在哪里__isa_available
被分配一个值是无处可寻(我试过找在我的所有目录中的文件...)
MSDN参考CPUID示例来确定指令集。问题在于它使用__asm
块,这些在我的x64版本中是不允许的。
有谁知道如何快速将正确的值赋值给__isa_available
?
太棒了,这正是我所需要的。 – demorge 2012-02-17 20:15:33