Teilen über


Compilerwarnung (Ebene 1) C4799

funktion 'function' hat keine EMMS-Anweisung

Bemerkungen

Die Funktion verfügt über mindestens eine MMX-Anweisung, verfügt jedoch nicht über eine EMMS Anweisung. Wenn eine Multimedia-Anweisung verwendet wird, sollte auch eine EMMS Anweisung oder _mm_empty ein systeminternes Element verwendet werden, um das Multimediatagwort am Ende des MMX-Codes zu löschen.

Möglicherweise wird C4799 angezeigt, wenn Sie ivec.h verwenden, was darauf hinweist, dass der Code die EMMS-Anweisung vor der Rückgabe nicht ordnungsgemäß ausführt. Dies ist eine falsche Warnung für diese Header. Sie können diese deaktivieren, indem Sie _SILENCE_IVEC_C4799 in ivec.h definieren. Beachten Sie jedoch, dass dadurch auch der Compiler keine korrekten Warnungen dieses Typs angibt.

Verwandte Informationen finden Sie im MMX-Anweisungssatz von Intel.

Example

Im folgenden Beispiel wird C4799 generiert:

// 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