在VS2010中,我测试了以下_umul128的示例代码。发生编译错误:
“错误C3861:'_ muul128':找不到标识符”。
// umul128.c
// processor: IPF, x64
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic(_umul128)
int main()
{
unsigned __int64 a = 0x0fffffffffffffffI64;
unsigned __int64 b = 0xf0000000I64;
unsigned __int64 c, d;
d = _umul128(a, b, &c);
printf_s("%#I64x * %#I64x = %#I64x%I64x\n", a, b, c, d);
}
源代码来自MSDN:http://msdn.microsoft.com/en-US/library/vstudio/3dayytw9(v=vs.100).aspx。
操作系统是Windows8,64位。它是由编译环境引起的吗?怎么解决? 提前谢谢。