[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bug de gcc?



Essaye d'utiliser plutot les assertions :

#include <assert.h>
assert(a)

si a=true, rien ne se passe, sinon, arret du programme avec des infos de
debuggage.

donc pour ta boucle, tu peux par exemple faire un :
while (i!=10) {
assert (i<10);
truc;
i++;
}
dans cet exemple, meme si i est egal a 11 à l'entree de ta boucle, ce qui aurait
inevitablement entraine un blocage, ton prg s'arretera en te disant que (i<10)
est faux, que c'est a la ligne numero #, dans le fichier source machin.c.

Ce genre de conseils peut se trouver dans un excellent livre (a mon gout) publie
chez Microsoft Press (non, non, pas taper, pas taper, ... pas la tete, non). Le
titre est : "l'art du code", ecrit par steve Maguire.
Je le recommande chaudement, pour programmer proprement. Microsoft l'a ecrit,
mais peut etre ne l'apliquent ils pas... =)


Loic Le Guyader a écrit :

> Salut,
> j'ai un problème que voici:
>
> Je déclare une fonction en C dont voici l'entête:
> void retenue_f(unsigned long a, unsigned long b, unsigned
>                            long c, unsigned long long d, unsigned long
>                            *r, unsigned long long *q)
> Tout à la fin de celle-ci, en derniére instruction j'ai:
>     printf(" %lu ", a);
> qui me servait pour le débogage, mais quand je la met en commentaire,
> mon programme boucle indéfiniment! (dans une boucle qui appelle la
> fonction retenue_f).
> Etant donné que a est passé par valeur ... est-ce un bug de gcc?
>
> Merci de votre aide.
>
> PS: si je suis hors sujet merci de me dire où poser la question.
>
> --
>   __________________________________
> (O) Debout les damnés de la terre   )
>  ( Debout les forçats de la faim...(
> (O)_________________________________)
>
> --
> To UNSUBSCRIBE, email to debian-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: