移植一段夹杂有汇编的代码:
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