在VS2010中,我测试了以下_umul128的示例代码。发生编译错误:
“错误 C3861:'_umul128':找不到标识符”。
// 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 位。是编译环境造成的吗?如何解决?提前致谢。