函数“function”没有 EMMS 指令
注解
该函数至少有一个 MMX 指令,但没有 EMMS 指令。 使用多媒体指令时,还应使用 EMMS 指令或 _mm_empty 内在函数来清除 MMX 代码末尾的多媒体标记字。
使用 ivec.h时可能会获得 C4799,指示代码在返回之前未正确执行 EMMS 指令。 这是对这些标头的错误警告。 可以通过在ivec.h中定义_SILENCE_IVEC_C4799来关闭这些设置。 但请注意,这也会使编译器无法正确发出此类型的警告。
有关详细信息,请参阅 Intel 的 MMX 指令集。
Example
以下示例生成 C4799:
// C4799.cpp
// compile with: /W1
// processor: x86
#include <mmintrin.h>
int main()
{
__m64 m = _mm_setzero_si64();
// Uncomment the following line to resolve the warning:
// _mm_empty();
} // C4799