移植一段夾雜有匯編的代碼:
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