Eric Levenez wrote:Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
Eric Levenez wrote:
Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
Eric Levenez wrote:Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Le 14/03/2009 9:47, candide écrivit :
>> printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
>> On peut utiliser sans souci les accents dans les messages (sauf si on
>> s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'es t
>> quand même plus lisible.
> Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
Et si tu compiles sous Linux avec un locale (précisant un certain
encodage) donné, puis que tu changes de locale (avec un *autre*
encodage), est-ce que le programme affiche correctement les accents ?
Antoine
Le 14/03/2009 9:47, candide écrivit :
>> printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
>> On peut utiliser sans souci les accents dans les messages (sauf si on
>> s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'es t
>> quand même plus lisible.
> Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
Et si tu compiles sous Linux avec un locale (précisant un certain
encodage) donné, puis que tu changes de locale (avec un *autre*
encodage), est-ce que le programme affiche correctement les accents ?
Antoine
Le 14/03/2009 9:47, candide écrivit :
>> printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
>> On peut utiliser sans souci les accents dans les messages (sauf si on
>> s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'es t
>> quand même plus lisible.
> Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
Et si tu compiles sous Linux avec un locale (précisant un certain
encodage) donné, puis que tu changes de locale (avec un *autre*
encodage), est-ce que le programme affiche correctement les accents ?
Antoine
Le 14/03/09 10:47, dans <49bb7d46$0$21963$,
« candide » a écrit :Eric Levenez a écrit :Il conviendrait de corriger ces warnings qui peuvent masquer des problèmes
car size_t est non signé et cela peut entraîner des problèmes dans d'autres
programmes.
Et tu recommandes quoi ? Ne pas utiliser size_t ou caster en int (par exemple)
ou autre chose encore ?
Comme strlen retourne un nombre >= 0, je "casterais" en int le code de
retour de strlen.
Le 14/03/09 10:47, dans <49bb7d46$0$21963$426a34cc@news.free.fr>,
« candide » a écrit :
Eric Levenez a écrit :
Il conviendrait de corriger ces warnings qui peuvent masquer des problèmes
car size_t est non signé et cela peut entraîner des problèmes dans d'autres
programmes.
Et tu recommandes quoi ? Ne pas utiliser size_t ou caster en int (par exemple)
ou autre chose encore ?
Comme strlen retourne un nombre >= 0, je "casterais" en int le code de
retour de strlen.
Le 14/03/09 10:47, dans <49bb7d46$0$21963$,
« candide » a écrit :Eric Levenez a écrit :Il conviendrait de corriger ces warnings qui peuvent masquer des problèmes
car size_t est non signé et cela peut entraîner des problèmes dans d'autres
programmes.
Et tu recommandes quoi ? Ne pas utiliser size_t ou caster en int (par exemple)
ou autre chose encore ?
Comme strlen retourne un nombre >= 0, je "casterais" en int le code de
retour de strlen.
Le 14/03/09 14:14, dans <gpgair$eo2$, « Marc Espie »Ignorer l'avertissement et envoyer gcc se faire cuire un oeuf.
Je ne pense pas que ce conseil soit adapté. Comment filtrer les warnings à
traiter de ceux à ignorer ?
Le 14/03/09 14:14, dans <gpgair$eo2$1@biggoron.nerim.net>, « Marc Espie »
Ignorer l'avertissement et envoyer gcc se faire cuire un oeuf.
Je ne pense pas que ce conseil soit adapté. Comment filtrer les warnings à
traiter de ceux à ignorer ?
Le 14/03/09 14:14, dans <gpgair$eo2$, « Marc Espie »Ignorer l'avertissement et envoyer gcc se faire cuire un oeuf.
Je ne pense pas que ce conseil soit adapté. Comment filtrer les warnings à
traiter de ceux à ignorer ?
Le 14/03/09 20:51, dans <49bc0ab4$0$2685$, « Alexandre
BACQUART » a écrit :Eric Levenez wrote:Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
Oui, mais si on ne corrige pas le warning (c'est plus politiquement correct
que "traiter" ?), comment retrouver les warnings à corriger car dangereux,
de ceux qui ne le sont pas, comme avec le code posté ? En mettant une limite
au nombre de warnings "acceptables" avant de "s'affoler" ?
Le 14/03/09 20:51, dans <49bc0ab4$0$2685$426a74cc@news.free.fr>, « Alexandre
BACQUART » <tek512@free.DELETEME.fr> a écrit :
Eric Levenez wrote:
Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
Oui, mais si on ne corrige pas le warning (c'est plus politiquement correct
que "traiter" ?), comment retrouver les warnings à corriger car dangereux,
de ceux qui ne le sont pas, comme avec le code posté ? En mettant une limite
au nombre de warnings "acceptables" avant de "s'affoler" ?
Le 14/03/09 20:51, dans <49bc0ab4$0$2685$, « Alexandre
BACQUART » a écrit :Eric Levenez wrote:Apres, on peut militer pour l'amelioration de gcc... entre autres le
rajout d'intelligence dans le compilateur pour eliminer les warnings
debiles...
Je considère que les warnings sur les signés/non signés ne sont pas débiles
et doivent être traités et non ignorés.
C'est juste, mais comme le dit Marc, le cast ne "traite" pas, il fait
taire le compilateur, c'est très différent. Mais dans des cas comme
celui-là, avec des tailles si petites, on voit difficilement quel genre
de problème pourrait survenir à convertir un signé en non-signé.
Oui, mais si on ne corrige pas le warning (c'est plus politiquement correct
que "traiter" ?), comment retrouver les warnings à corriger car dangereux,
de ceux qui ne le sont pas, comme avec le code posté ? En mettant une limite
au nombre de warnings "acceptables" avant de "s'affoler" ?
Concernant -pedantic, je trouve qu'il n'est pas évident de savoir quel est son
rôle exact, d'après la doc de gcc, -pedantic avertit chaque fois que la Norme
exige un "diagnostic" :
Je partage totalement ton avis. Quand j'ai commencé le C, je ne connaissais que
les int puis un jour je suis tombé sur size_t et adieu la simplicité. Puis je
suis tombé sur le recommandations dans ce forum concernant l'emploi de size_t
pour des tailles d'objets ou des indices de parcours de tableaux statiques ou
dynamiques. J'ai donc adopté size_t, Puis je suis tombé sur les problèmes de
conversion que tu signales avec les conséquences catastrophiques que cela peut
avoir. Depuis, je suis dans l'expectative, j'ai encore parcouru les archives de
fclc et clc il y a peu de temps à la recherche de la bonne attitude et de la
bonne recommandation.
Dans la grosse majorite des codes, l'introduction de size_t pour toutes
les tailles memoire est "absurde":
Concernant -pedantic, je trouve qu'il n'est pas évident de savoir quel est son
rôle exact, d'après la doc de gcc, -pedantic avertit chaque fois que la Norme
exige un "diagnostic" :
Je partage totalement ton avis. Quand j'ai commencé le C, je ne connaissais que
les int puis un jour je suis tombé sur size_t et adieu la simplicité. Puis je
suis tombé sur le recommandations dans ce forum concernant l'emploi de size_t
pour des tailles d'objets ou des indices de parcours de tableaux statiques ou
dynamiques. J'ai donc adopté size_t, Puis je suis tombé sur les problèmes de
conversion que tu signales avec les conséquences catastrophiques que cela peut
avoir. Depuis, je suis dans l'expectative, j'ai encore parcouru les archives de
fclc et clc il y a peu de temps à la recherche de la bonne attitude et de la
bonne recommandation.
Dans la grosse majorite des codes, l'introduction de size_t pour toutes
les tailles memoire est "absurde":
Concernant -pedantic, je trouve qu'il n'est pas évident de savoir quel est son
rôle exact, d'après la doc de gcc, -pedantic avertit chaque fois que la Norme
exige un "diagnostic" :
Je partage totalement ton avis. Quand j'ai commencé le C, je ne connaissais que
les int puis un jour je suis tombé sur size_t et adieu la simplicité. Puis je
suis tombé sur le recommandations dans ce forum concernant l'emploi de size_t
pour des tailles d'objets ou des indices de parcours de tableaux statiques ou
dynamiques. J'ai donc adopté size_t, Puis je suis tombé sur les problèmes de
conversion que tu signales avec les conséquences catastrophiques que cela peut
avoir. Depuis, je suis dans l'expectative, j'ai encore parcouru les archives de
fclc et clc il y a peu de temps à la recherche de la bonne attitude et de la
bonne recommandation.
Dans la grosse majorite des codes, l'introduction de size_t pour toutes
les tailles memoire est "absurde":
Le 14/03/2009 9:47, candide écrivit :printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
Le 14/03/2009 9:47, candide écrivit :
printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
Le 14/03/2009 9:47, candide écrivit :printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
min(INT_MAX, SIZE_MAX) (qui a ma connaissance n'a aucune
chance d'être < 32767)
min(INT_MAX, SIZE_MAX) (qui a ma connaissance n'a aucune
chance d'être < 32767)
min(INT_MAX, SIZE_MAX) (qui a ma connaissance n'a aucune
chance d'être < 32767)
Antoine Leca wrote:Le 14/03/2009 9:47, candide écrivit :printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
J'ai déjà eu ce problème dans de nombreux cas de développement. Mais
pour ma part, je suis configuré par défaut en anglais, peut-être que ça
joue. Je suppose que ça doit se configurer quelque-part pour que ce soit
spécifique à certains outils, mais ça ne me dérange pas suffisamment
pour que je cherche la manière de faire.
Antoine Leca wrote:
Le 14/03/2009 9:47, candide écrivit :
printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
J'ai déjà eu ce problème dans de nombreux cas de développement. Mais
pour ma part, je suis configuré par défaut en anglais, peut-être que ça
joue. Je suppose que ça doit se configurer quelque-part pour que ce soit
spécifique à certains outils, mais ça ne me dérange pas suffisamment
pour que je cherche la manière de faire.
Antoine Leca wrote:Le 14/03/2009 9:47, candide écrivit :printf( "nt Vous avez perdu. Le mot a trouver etait : %s",
On peut utiliser sans souci les accents dans les messages (sauf si on
s'appelle Marc E. et que l'on travaille sur des terminaux zarbi), c'est
quand même plus lisible.
Avec la console Windows vaut mieux s'abstenir des accents.
Voilà une drôle de remarque ! À quoi est-elle due ? Aurais-tu des
problèmes d'affichage en console Windows d'un programme ? Est-ce que
cela viendrait-il d'un compilateur en particulier ?
J'ai déjà eu ce problème dans de nombreux cas de développement. Mais
pour ma part, je suis configuré par défaut en anglais, peut-être que ça
joue. Je suppose que ça doit se configurer quelque-part pour que ce soit
spécifique à certains outils, mais ça ne me dérange pas suffisamment
pour que je cherche la manière de faire.