Interruption sous linux
Bonjour,
je voudrai savoir comment on fait pour mettre en oeuvre la routine d'erreur de division par zero sur linux???
et aussi savoir comment afficher un msg juste avant son traitement
je voudrai savoir comment on fait pour mettre en oeuvre la routine d'erreur de division par zero sur linux???
et aussi savoir comment afficher un msg juste avant son traitement
Configuration: Windows XP Internet Explorer 7.0
1 réponse
-
Bonjour,
je voudrai savoir comment on fait pour mettre en oeuvre la routine d'erreur de division par zero sur linux
Ca se fait par un appel système signal(2) - faire "man 2 signal". Grosso modo on passe en argument la fonction qui gère l'erreur. Le code de l'erreur de division par zéro est SIGFLT.
et aussi savoir comment afficher un msg juste avant son traitement
Euh... par printf(1) dans la fonction de remplacement.
Bien ceci peut être emballé sous différentes formes selon le langage utilisé.
Manu-
-
@lolaBonjour,
Et si vous lisiez le manuel (man 2 signal) ?
Vite fait, sans tester :
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void divzero(int code)
{ printf("divide by zero\n"); }
void main()
{signal (SIGFLT,divzero);}
Manu -
@Manusalut,pour la mise en oeuvre ,je pense que c bon avec signal(SIGFPE,8)
mais pour l'affichage ,je veux afficher un msg sur l'ecran ,avnt chaque traitement standard de l'intrruption
merci de bien vouloir m'aider
-