Section courante

A propos

Section administrative du site

SETJMP

Fixe le saut
Langage C setjmp.h

Syntaxe

int setjmp(jmp_buf env);

Paramètres

Nom Description
env Ce paramètre permet d'indiquer l'environnement contenant l'expression à traiter

Description

Cette fonction effectue la sauvegarde de la pile.

Algorithme

MODULE SETJMP(env)
   * Sauvegarder l'état d'exécution courant du programme
   * Cela inclut le pointeur d'instruction, le registre,...
   store_execution_state_in(env)

   * Valeur de retour pour le premier passage dans setjmp
   RETOURNE 0

Remarques

Exemple

Voici un exemple permettant de sauvegarder l'environnement de façon à ce qu'il passe deux fois sur le même code :

Essayer maintenant !
  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("Appeler setjmp\n");
  11.   longjmp(env,value);
  12.   return 0;
  13.  } else {
  14.   printf("Longjmp est appelé\n");
  15.   return -1;
  16.  }
  17. }

on obtiendra le résultat suivant :

Appeler setjmp
Longjmp est appelé

Voir également

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

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 734.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 231.

Dernière mise à jour : Mardi, le 28 juillet 2015