Section courante

A propos

Section administrative du site

LONGJMP

Saut long
SVID 3, POSIX, BSD 4.3, ISO 9899 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 :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <setjmp.h>
  4.  
  5. int main() {
  6.  jmp_buf env;
  7.  int value = -1;
  8.  int errCode = setjmp(env);
  9.  if(errCode != 0) {
  10.   printf("Longjmp est appelé\n");
  11.   return -1;
  12.  } else {
  13.   printf("Appeler setjmp\n");
  14.   longjmp(env,value);
  15.   return 0;
  16.  }
  17. }

on obtiendra le résultat suivant :

Appeler setjmp
Longjmp est appelé

Voir également

Langage de programmation - C - Référence procédures et fonctions - setjmp

Dernière mise à jour : Dimanche, le 21 février 2016