다음을 통해 공유


컴파일러 경고(수준 1) C4799

함수 '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