Поделиться через


Предупреждение компилятора (уровень 1) C4799

Функция "function" не имеет инструкций EMMS

Замечания

Функция имеет по крайней мере одну инструкцию MMX, но не имеет инструкции EMMS . При использовании EMMS мультимедийной инструкции также следует использовать инструкцию или _mm_empty встроенную для очистки слова тега мультимедиа в конце кода MMX.

Вы можете получить C4799 при использовании ivec.h, что указывает на то, что код не выполняет правильно инструкцию EMMS перед возвратом. Это ложное предупреждение для этих заголовков. Вы можете отключить их, определив _SILENCE_IVEC_C4799 в ivec.h. Однако помните, что это также позволит компилятору давать правильные предупреждения этого типа.

Дополнительные сведения см . в наборе инструкций MMX Intel.

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