_emit Pseudoinstruction
Microsoft-spezifisch
Der _emit Pseudoinstruction definiert ein Byte an der aktuellen Position im aktuellen Textsegment. Der _emit Pseudoinstruction ähnelt der DB von Direktiven MASM.
Das folgende Fragment platziert die Bytes 0x4A, 0x43 und 0x4B in den Code:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Warnung
Wenn _emit-Anweisungen, die Register und ändern, kompilieren Sie die Anwendung mit Optimierungen generiert, kann der Compiler nicht ermitteln, welche Register beeinflusst werden.Wenn _emit eine Anweisung generiert, die das rax ändert, Register der Compiler nicht weiß, dass rax geändert wurde.Der Compiler hat sich dann eine falsche Annahme über den Wert in diesem Register, nachdem der Inlineassemblercode ausführt.Daher kann die Anwendung möglicherweise zu unvorhersehbarem Verhalten auf, wenn sie ausgeführt wird.
END Microsoft-spezifisch