LONGJMP |
Long saut |
---|---|
Visual C++ | setjmp.h |
Syntaxe
void longjmp(jmp_buf env,int val); |
Paramètres
Nom | Description |
---|---|
env | Ce paramètre permet d'indiquer l'environnement |
val | Ce paramètre permet d'indiquer la valeur |
Description
Cette procédure effectue la restauration de la pile dans un saut non local.
Exemple
Voici un exemple permettant de sauvegarder l'environnement de façon à ce qu'il passe deux fois sur le même code :
- #include "stdafx.h"
- #include "stdio.h"
- #include "stdlib.h"
- #include "setjmp.h"
-
- int main(int argc, char* argv[]) {
- jmp_buf env;
- int value = -1;
- int errCode = setjmp(env);
- if(errCode != 0) {
- printf("Longjmp est appelé\n");
- return -1;
- } else {
- printf("Appeler setjmp\n");
- longjmp(env,value);
- return 0;
- }
- }
on obtiendra le résultat suivant :
Appeler setjmpLongjmp est appelé
Dernière mise à jour : Samedi, le 7 avril 2018