candide wrote:
[snip pretexte] je ne peux pas t'aider.
Quand on utilise un produit, soit on a la doc soit on ne l'utilise pas,
si tu n'arrives pas à trouver la doc de gcc sur le net inscris-toi à un
cours google,
Non, mais il faut arrêter de délirer !
candide wrote:
[snip pretexte] je ne peux pas t'aider.
Quand on utilise un produit, soit on a la doc soit on ne l'utilise pas,
si tu n'arrives pas à trouver la doc de gcc sur le net inscris-toi à un
cours google,
Non, mais il faut arrêter de délirer !
candide wrote:
[snip pretexte] je ne peux pas t'aider.
Quand on utilise un produit, soit on a la doc soit on ne l'utilise pas,
si tu n'arrives pas à trouver la doc de gcc sur le net inscris-toi à un
cours google,
Non, mais il faut arrêter de délirer !
ben tu vois, tu as appris quelque chose. Tu devrais être content de
dormir moins bête maintenant.
ben tu vois, tu as appris quelque chose. Tu devrais être content de
dormir moins bête maintenant.
ben tu vois, tu as appris quelque chose. Tu devrais être content de
dormir moins bête maintenant.
float quantite; // la variable quantité
a moins que tu traites des fractions d'objets
int quantite;
float quantite; // la variable quantité
a moins que tu traites des fractions d'objets
int quantite;
float quantite; // la variable quantité
a moins que tu traites des fractions d'objets
int quantite;
Laurent Deniau writes:Et de tout facon j'utilise eassert qui a le meme comportement que assert
(et eassert.h que assert.h) mais leve une exception ExBadAssert en cas
d'echec au lieu de quitter le programme.
Pour pouvoir faire quelque chose une fois que l'exception est
attrapee, il faut etre sur d'au moins une partie de l'etat du
programme. De quelle partie de l'etat es-tu sur apres qu'une
assertion echoue? Si tu as l'equivalent des destructeurs, comment
ceux-ci peuvent ils etre sur que l'etat des objets qu'ils doivent
detruire, ils ne connaissent pas la cause pour laquelle ils sont
appeles.
Je comprends qu'on puisse tenter de faire des choses avant de partir,
mais a mon sens elles sont limitees (sauver une copie des donnees en
memoire mais certainement pas ecraser les donnees originales).
Laurent Deniau <laurent.deniau@cern.ch> writes:
Et de tout facon j'utilise eassert qui a le meme comportement que assert
(et eassert.h que assert.h) mais leve une exception ExBadAssert en cas
d'echec au lieu de quitter le programme.
Pour pouvoir faire quelque chose une fois que l'exception est
attrapee, il faut etre sur d'au moins une partie de l'etat du
programme. De quelle partie de l'etat es-tu sur apres qu'une
assertion echoue? Si tu as l'equivalent des destructeurs, comment
ceux-ci peuvent ils etre sur que l'etat des objets qu'ils doivent
detruire, ils ne connaissent pas la cause pour laquelle ils sont
appeles.
Je comprends qu'on puisse tenter de faire des choses avant de partir,
mais a mon sens elles sont limitees (sauver une copie des donnees en
memoire mais certainement pas ecraser les donnees originales).
Laurent Deniau writes:Et de tout facon j'utilise eassert qui a le meme comportement que assert
(et eassert.h que assert.h) mais leve une exception ExBadAssert en cas
d'echec au lieu de quitter le programme.
Pour pouvoir faire quelque chose une fois que l'exception est
attrapee, il faut etre sur d'au moins une partie de l'etat du
programme. De quelle partie de l'etat es-tu sur apres qu'une
assertion echoue? Si tu as l'equivalent des destructeurs, comment
ceux-ci peuvent ils etre sur que l'etat des objets qu'ils doivent
detruire, ils ne connaissent pas la cause pour laquelle ils sont
appeles.
Je comprends qu'on puisse tenter de faire des choses avant de partir,
mais a mon sens elles sont limitees (sauver une copie des donnees en
memoire mais certainement pas ecraser les donnees originales).
Marc Boyer wrote in
news::http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Warning-Options.html#Warnin
g-Options* If `-Wall' or `-Wunused' is also specified, warn about
unused
arguments.
Donc c'est ça la seule différence ? Bon, c'est toujours pas
parfaitement limpide.
Non, ça c'est *une* des différences.
Il y a aussi les tests sur les non signés (toujours piégant), etc.
Je sais pas comment vous faites vous les informaticiens pour donner des
réponses aussi peu directes et aussi "confusantes" (c'est sans soute que je
suis très bouché).
Je dois vous dire que je n'ai quasiment vu aucun livre
d'informatique clair (alors que des livres de maths ou de physique clairs
ça existe -- bon, à bien réfléchir le livre de Desgraupes sur LaTeX est
assez clair).
Tu m'envoies une page du manuel (qui ne répond pas à la question) puis tu
m'envoies sur le site de gcc où il faut lire entre les lignes pour avoir la
réponse tout ça alors que tu aurais pu répondre que
1°) -Wall porte TRES mal son nom parce que c'est plutôt -WNearlyAll,
2°) -W l'ancienne façon de désigner l'option actuelle -Wextra
3°) Ne pas croire que "extra"+"all"= "whole all", ce serait trop simple.
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> wrote in
news:slrndu6uuo.rd5.Marc.Boyer@localhost.localdomain:
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Warning-Options.html#Warnin
g-Options
* If `-Wall' or `-Wunused' is also specified, warn about
unused
arguments.
Donc c'est ça la seule différence ? Bon, c'est toujours pas
parfaitement limpide.
Non, ça c'est *une* des différences.
Il y a aussi les tests sur les non signés (toujours piégant), etc.
Je sais pas comment vous faites vous les informaticiens pour donner des
réponses aussi peu directes et aussi "confusantes" (c'est sans soute que je
suis très bouché).
Je dois vous dire que je n'ai quasiment vu aucun livre
d'informatique clair (alors que des livres de maths ou de physique clairs
ça existe -- bon, à bien réfléchir le livre de Desgraupes sur LaTeX est
assez clair).
Tu m'envoies une page du manuel (qui ne répond pas à la question) puis tu
m'envoies sur le site de gcc où il faut lire entre les lignes pour avoir la
réponse tout ça alors que tu aurais pu répondre que
1°) -Wall porte TRES mal son nom parce que c'est plutôt -WNearlyAll,
2°) -W l'ancienne façon de désigner l'option actuelle -Wextra
3°) Ne pas croire que "extra"+"all"= "whole all", ce serait trop simple.
Marc Boyer wrote in
news::http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Warning-Options.html#Warnin
g-Options* If `-Wall' or `-Wunused' is also specified, warn about
unused
arguments.
Donc c'est ça la seule différence ? Bon, c'est toujours pas
parfaitement limpide.
Non, ça c'est *une* des différences.
Il y a aussi les tests sur les non signés (toujours piégant), etc.
Je sais pas comment vous faites vous les informaticiens pour donner des
réponses aussi peu directes et aussi "confusantes" (c'est sans soute que je
suis très bouché).
Je dois vous dire que je n'ai quasiment vu aucun livre
d'informatique clair (alors que des livres de maths ou de physique clairs
ça existe -- bon, à bien réfléchir le livre de Desgraupes sur LaTeX est
assez clair).
Tu m'envoies une page du manuel (qui ne répond pas à la question) puis tu
m'envoies sur le site de gcc où il faut lire entre les lignes pour avoir la
réponse tout ça alors que tu aurais pu répondre que
1°) -Wall porte TRES mal son nom parce que c'est plutôt -WNearlyAll,
2°) -W l'ancienne façon de désigner l'option actuelle -Wextra
3°) Ne pas croire que "extra"+"all"= "whole all", ce serait trop simple.
Je suis désolé: au début, Emmanuel te dit que, à son sens,
les warnings utiles ad minima à demander au compilateurs sont activés
avec -Wall -W.
Ensuite, tu demandes quelles est la différence entre
"gcc -W -Wall" et "gcc -Wall".
Alors, je te donne (issu de la doc)
la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Je suis désolé: au début, Emmanuel te dit que, à son sens,
les warnings utiles ad minima à demander au compilateurs sont activés
avec -Wall -W.
Ensuite, tu demandes quelles est la différence entre
"gcc -W -Wall" et "gcc -Wall".
Alors, je te donne (issu de la doc)
la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Je suis désolé: au début, Emmanuel te dit que, à son sens,
les warnings utiles ad minima à demander au compilateurs sont activés
avec -Wall -W.
Ensuite, tu demandes quelles est la différence entre
"gcc -W -Wall" et "gcc -Wall".
Alors, je te donne (issu de la doc)
la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Marc Boyer wrote in
news::la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Non, ma question n'est pas de savoir ce que fait la ligne de commande
gcc -W ni gcc -E ni gcc -stdÉ9 ou je ne sais quoi, ma question est de
savoir quelle _différence_ entre faire en ligne de commande
gcc -Wall et gcc -W -Wall.
Alors si j'essaye de comprendre ce que tu me dis, je viens à considérer que
le -W est obligatoire si on veut faire appel à tel ou tel type de warning,
qu'il s'agisse -Wall ou de -Wimplicit.
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Ne prend pas mal ce que je vais dire, je sais que tu es sur ce forum depuis
longtemps et dans le but, entre autres, de faire profiter à des débutants
comme moi, je sais que tu es soucieux de la qualité de l'enseignement que
tu dispenses à tes étudiants, c'est assez rare. Le problème est que tu as
tellement intégré tous les mécanismes que tu n'es pas/plus capable de
comprendre ce qu'un débutant ne comprend pas
et en particulier que tu ne
vois pas toutes les _ambiguités_ que peut produire une doc style man car
l'information suppose que le lecteur est informé d'une quantité
d'informations implicites et contextuelles. Bien aussi prendre conscience
qu'enseigner quelque chose qui passe uniquement par le support texte (comme
sur les news ou dans un man voire dans un livre) démande infiniment plus de
réflexion pour avoir une action aussi efficace qu'en présentiel.
Si par
exemple, je dois apprendre à utiliser gdb en utilisant la seule doc gnu, je
vais y passer 10 ou 20 (sic) fois plus de temps que si mon collègue d'info
est à côté de moi à me l'expliquer devant un PC.
J'ajoute que le rôle pédagogique du debugger est largement sous-estimé, un
débutant apprendrait ENORMEMENT de choses avec ça, le problème c'est qu'il
faut d'abors savoir s'en servir d'où le problème de la doc, etc, etc
Pour ne pas faire traîner ce post HS indéfiniment et bien qu'il touche à
une question capitale, veuille déjà me dire si le résumé en trois points
qui m'a permis de m'endormir moins bête (mais de me réveiller aussi bête
que la veille visiblement),
cf. Message-ID: <43e389a9$0$21282$
est correct ou pas.
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> wrote in
news:slrndu8emj.44o.Marc.Boyer@localhost.localdomain:
la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Non, ma question n'est pas de savoir ce que fait la ligne de commande
gcc -W ni gcc -E ni gcc -stdÉ9 ou je ne sais quoi, ma question est de
savoir quelle _différence_ entre faire en ligne de commande
gcc -Wall et gcc -W -Wall.
Alors si j'essaye de comprendre ce que tu me dis, je viens à considérer que
le -W est obligatoire si on veut faire appel à tel ou tel type de warning,
qu'il s'agisse -Wall ou de -Wimplicit.
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Ne prend pas mal ce que je vais dire, je sais que tu es sur ce forum depuis
longtemps et dans le but, entre autres, de faire profiter à des débutants
comme moi, je sais que tu es soucieux de la qualité de l'enseignement que
tu dispenses à tes étudiants, c'est assez rare. Le problème est que tu as
tellement intégré tous les mécanismes que tu n'es pas/plus capable de
comprendre ce qu'un débutant ne comprend pas
et en particulier que tu ne
vois pas toutes les _ambiguités_ que peut produire une doc style man car
l'information suppose que le lecteur est informé d'une quantité
d'informations implicites et contextuelles. Bien aussi prendre conscience
qu'enseigner quelque chose qui passe uniquement par le support texte (comme
sur les news ou dans un man voire dans un livre) démande infiniment plus de
réflexion pour avoir une action aussi efficace qu'en présentiel.
Si par
exemple, je dois apprendre à utiliser gdb en utilisant la seule doc gnu, je
vais y passer 10 ou 20 (sic) fois plus de temps que si mon collègue d'info
est à côté de moi à me l'expliquer devant un PC.
J'ajoute que le rôle pédagogique du debugger est largement sous-estimé, un
débutant apprendrait ENORMEMENT de choses avec ça, le problème c'est qu'il
faut d'abors savoir s'en servir d'où le problème de la doc, etc, etc
Pour ne pas faire traîner ce post HS indéfiniment et bien qu'il touche à
une question capitale, veuille déjà me dire si le résumé en trois points
qui m'a permis de m'endormir moins bête (mais de me réveiller aussi bête
que la veille visiblement),
cf. Message-ID: <43e389a9$0$21282$8fcfb975@news.wanadoo.fr>
est correct ou pas.
Marc Boyer wrote in
news::la liste des warnings qu'active -W
(ce qui est, il me semble,
la réponse à la question, non ?).
Non, ma question n'est pas de savoir ce que fait la ligne de commande
gcc -W ni gcc -E ni gcc -stdÉ9 ou je ne sais quoi, ma question est de
savoir quelle _différence_ entre faire en ligne de commande
gcc -Wall et gcc -W -Wall.
Alors si j'essaye de comprendre ce que tu me dis, je viens à considérer que
le -W est obligatoire si on veut faire appel à tel ou tel type de warning,
qu'il s'agisse -Wall ou de -Wimplicit.
Je souligne que ne connais
pas cette liste par coeur, je sais juste par tatonnenements
successifs que, pour mon code, je compile avec
-W -Wall -pedantic -stdÉ9
et que cela me conviens bien.
Et quand je travaille avec le code des élèves, j'ajoute
-Wuninitialized -0
Ensuite, comme tu dis ne pas avoir info sur ta machine, je
t'indique la page WEB où la trouver.
Ne prend pas mal ce que je vais dire, je sais que tu es sur ce forum depuis
longtemps et dans le but, entre autres, de faire profiter à des débutants
comme moi, je sais que tu es soucieux de la qualité de l'enseignement que
tu dispenses à tes étudiants, c'est assez rare. Le problème est que tu as
tellement intégré tous les mécanismes que tu n'es pas/plus capable de
comprendre ce qu'un débutant ne comprend pas
et en particulier que tu ne
vois pas toutes les _ambiguités_ que peut produire une doc style man car
l'information suppose que le lecteur est informé d'une quantité
d'informations implicites et contextuelles. Bien aussi prendre conscience
qu'enseigner quelque chose qui passe uniquement par le support texte (comme
sur les news ou dans un man voire dans un livre) démande infiniment plus de
réflexion pour avoir une action aussi efficace qu'en présentiel.
Si par
exemple, je dois apprendre à utiliser gdb en utilisant la seule doc gnu, je
vais y passer 10 ou 20 (sic) fois plus de temps que si mon collègue d'info
est à côté de moi à me l'expliquer devant un PC.
J'ajoute que le rôle pédagogique du debugger est largement sous-estimé, un
débutant apprendrait ENORMEMENT de choses avec ça, le problème c'est qu'il
faut d'abors savoir s'en servir d'où le problème de la doc, etc, etc
Pour ne pas faire traîner ce post HS indéfiniment et bien qu'il touche à
une question capitale, veuille déjà me dire si le résumé en trois points
qui m'a permis de m'endormir moins bête (mais de me réveiller aussi bête
que la veille visiblement),
cf. Message-ID: <43e389a9$0$21282$
est correct ou pas.
Jean-Marc Bourguet wrote in
news::
Je ne suis pas sur de comprendre l'analogie. Si je l'ai
bien comprise, je répond: ce n'est pas en regardant un
moteur au ralenti qu'on apprend à conduire.
Oui, l'image est bonne, ton moteur semble fonctionner au
ralenti.
Dois-je continuer ?
De nouveau, je ne suis pas sûr de te comprendre. J'hésite
entre deux interprétations.
Pour l'une d'entre elles, je ne suis pas d'accord et il y a
le gros danger de finir par prendre le résultat de choix
d'implémentation pour les spéc.
Je vois très vaguement ce que tu veux dire mais désolé tu
ne t'exprimes pas clairement.
Pour l'autre,
Quelle est cette autre interprétation ?
je suis d'accord et c'est une des raisons pour
lesquelles si j'avais à enseigner la programmation
j'envisagerai un langage interprété.
cachez ce code-machine que je ne saurais voir : je pense
que c'est une excellente solution pour ne rien comprendre
en profondeur.
Jean-Marc Bourguet <jm@bourguet.org> wrote in
news:87vevucbb7.fsf@news.bourguet.org:
Je ne suis pas sur de comprendre l'analogie. Si je l'ai
bien comprise, je répond: ce n'est pas en regardant un
moteur au ralenti qu'on apprend à conduire.
Oui, l'image est bonne, ton moteur semble fonctionner au
ralenti.
Dois-je continuer ?
De nouveau, je ne suis pas sûr de te comprendre. J'hésite
entre deux interprétations.
Pour l'une d'entre elles, je ne suis pas d'accord et il y a
le gros danger de finir par prendre le résultat de choix
d'implémentation pour les spéc.
Je vois très vaguement ce que tu veux dire mais désolé tu
ne t'exprimes pas clairement.
Pour l'autre,
Quelle est cette autre interprétation ?
je suis d'accord et c'est une des raisons pour
lesquelles si j'avais à enseigner la programmation
j'envisagerai un langage interprété.
cachez ce code-machine que je ne saurais voir : je pense
que c'est une excellente solution pour ne rien comprendre
en profondeur.
Jean-Marc Bourguet wrote in
news::
Je ne suis pas sur de comprendre l'analogie. Si je l'ai
bien comprise, je répond: ce n'est pas en regardant un
moteur au ralenti qu'on apprend à conduire.
Oui, l'image est bonne, ton moteur semble fonctionner au
ralenti.
Dois-je continuer ?
De nouveau, je ne suis pas sûr de te comprendre. J'hésite
entre deux interprétations.
Pour l'une d'entre elles, je ne suis pas d'accord et il y a
le gros danger de finir par prendre le résultat de choix
d'implémentation pour les spéc.
Je vois très vaguement ce que tu veux dire mais désolé tu
ne t'exprimes pas clairement.
Pour l'autre,
Quelle est cette autre interprétation ?
je suis d'accord et c'est une des raisons pour
lesquelles si j'avais à enseigner la programmation
j'envisagerai un langage interprété.
cachez ce code-machine que je ne saurais voir : je pense
que c'est une excellente solution pour ne rien comprendre
en profondeur.
assert(scanf("%199s", Nom) == 1);
Argh, ! Ne jamais faire ça ! Non compilé (du tout) en mode release !
Le scanf() saute aussi !
Il faut lire jusqu'au bout mon post et l'explication sur les assert.
Ceci dit, je ne deactive jamais les assert, meme en production,
Erreur. Je vois que tu n'as jamais utilisé VC++6 en mode release...
NDEBUG est défini (par défaut), et ça aurait fait drôle à ton c ode...
D'autre part, dans les regles de production de code de telle ou telle
boite, il pourrait très bien être spécifié que le code de product ion est
compilé avec -DNDEBUG.
Il ne faut donc absolument pas utiliser assert() (celui du C standard)
pour vérifier autre chose que de la conception. Jamais les comportements
anormaux d^s au système ou à l'utilisateur.
assert(scanf("%199s", Nom) == 1);
Argh, ! Ne jamais faire ça ! Non compilé (du tout) en mode release !
Le scanf() saute aussi !
Il faut lire jusqu'au bout mon post et l'explication sur les assert.
Ceci dit, je ne deactive jamais les assert, meme en production,
Erreur. Je vois que tu n'as jamais utilisé VC++6 en mode release...
NDEBUG est défini (par défaut), et ça aurait fait drôle à ton c ode...
D'autre part, dans les regles de production de code de telle ou telle
boite, il pourrait très bien être spécifié que le code de product ion est
compilé avec -DNDEBUG.
Il ne faut donc absolument pas utiliser assert() (celui du C standard)
pour vérifier autre chose que de la conception. Jamais les comportements
anormaux d^s au système ou à l'utilisateur.
assert(scanf("%199s", Nom) == 1);
Argh, ! Ne jamais faire ça ! Non compilé (du tout) en mode release !
Le scanf() saute aussi !
Il faut lire jusqu'au bout mon post et l'explication sur les assert.
Ceci dit, je ne deactive jamais les assert, meme en production,
Erreur. Je vois que tu n'as jamais utilisé VC++6 en mode release...
NDEBUG est défini (par défaut), et ça aurait fait drôle à ton c ode...
D'autre part, dans les regles de production de code de telle ou telle
boite, il pourrait très bien être spécifié que le code de product ion est
compilé avec -DNDEBUG.
Il ne faut donc absolument pas utiliser assert() (celui du C standard)
pour vérifier autre chose que de la conception. Jamais les comportements
anormaux d^s au système ou à l'utilisateur.