LONGJMP |
Long saut |
---|---|
Free Pascal | System |
Syntaxe
Procedure longjmp(var S: jmp_buf;value: LongInt); |
Paramètres
Nom | Description |
---|---|
S | Ce paramètre permet d'indiquer l'environnement |
value | Ce paramètre permet d'indiquer la valeur |
Description
Cette procédure effectue la restauration de la pile dans un saut non local.
Remarques
- La procédure LongJmp saute à l'adresse dans le envjmp_buf et restaure les registres y étant entreposés lors de l'appel SetJmp correspondant. En effet, le déroulement du programme continuera à l'appel SetJmp, retournant une valeur au lieu de 0. Si une valeur égale à zéro est passée, elle sera convertie en 1 avant de la transmettre. L'appel ne reviendra pas, il doit donc être utilisé avec une extrême prudence. Cela peut être utilisé pour la récupération d'erreur, par exemple lorsqu'une erreur de segmentation s'est produite.
- La fonction longjmp s'inspire de la fonction du même nom longjmp proposé du langage de programmation C.
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - SetJmp
Dernière mise à jour : Samedi, le 18 juillet 2015