C4730 警告

C4730 警告

移植一段夹杂有汇编的代码:

1      。。。。
2      __asm
3      {
4          。。。(内含 MMX 指令)
5      }
6      
7      nlong  =  (::sqrt(( double )(iU  *  iU)  +  (iV  *  iV)));  //  C4730
8      。。。

如以上所示,第 7 行出现 :警告 1 warning C4730: “混合 _m64 和浮点表达式可能导致不正确的代码 e:\projects2009\taurus\src\~trefx.cpp 946

在微软的网站上找到解决办法: http://msdn.microsoft.com/zh-tw/library/3z3ww2w3.aspx

1      。。。。
2      __asm
3      {
4          。。。(内含 MMX 指令)
5      }
6      _m_empty();    //  这句消除 C4730
7      nlong  =  (::sqrt(( double )(iU  *  iU)  +  (iV  *  iV))); 
8      。。。

注意:以上代码中的 _m_empty() 需要包含头文件 mmintrin.h

你可能感兴趣的:(C4730 警告)