Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'Funktion': Kurzer Sprung zur Funktion, die in die Nähe konvertiert wurde
Bemerkungen
Kurze Sprünge generieren eine kompakte Anweisung, die innerhalb eines begrenzten Bereichs von der Anweisung zu einer Adresse verzweigt. Die Anweisung enthält einen kurzen Offset, der den Abstand zwischen dem Sprung und der Zieladresse, der Funktionsdefinition, darstellt. Während der Verknüpfung kann eine Funktion verschoben oder unterliegt Verknüpfungszeitoptimierungen, die dazu führen, dass die Funktion aus dem Bereich verschoben wird, der aus einem kurzen Offset erreichbar ist. Der Compiler muss einen speziellen Datensatz für den Sprung generieren, bei dem die jmp-Anweisung entweder NEAR oder FAR sein muss. Der Compiler hat die Konvertierung vorgenommen.
Example
Der folgende Code generiert z. B. C4414:
// C4414.cpp
// compile with: /W3 /c
// processor: x86
int DoParityEven();
int DoParityOdd();
unsigned char global;
int __declspec(naked) DoParityEither()
{
__asm
{
test global,0
jpe SHORT DoParityEven // C4414
jmp SHORT DoParityOdd // C4414
}
}