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。
OSはWindows8、64bitです。コンパイル環境が原因でしょうか?修正方法は?前もって感謝します。