setjmp/longjump

Wenn Sie setjmpex.h oder setjmp.h einbinden, führen alle Aufrufe von setjmp oder longjmp zu einer Entladung, durch die Destruktoren und finally-Aufrufe ausgeführt werden.Im Gegensatz dazu hat beim x86-Compiler die Einbindung von stejmp.h zur Folge, das finally-Klauseln und Destruktoren nicht ausgeführt werden.

Durch einen Aufruf von setjmp werden der aktuelle Stapelzeiger, nicht flüchtige Register und MxCsr-Register beibehalten.Aufrufe von longjmp werden an die aktuelle setjmp-Aufrufsite zurückgegeben. Des Weiteren werden der Stapelzeiger, nicht flüchtige Register und MxCsr-Register auf den Zustand zurückgesetzt, der durch den letzten setjmp-Aufruf beibehalten wurde.

Siehe auch

Referenz

Aufrufkonvention