 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Gabriel Dos Reis Guest
|
Posted: Wed Jan 25, 2006 1:44 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | On Tue, 24 Jan 2006 08:12:58 +0000 (UTC), Marc Boyer
[email]Marc.Boyer (AT) enseeiht (DOT) yahoo.fr.inva[/email]lid>:
-Wall ce n'est pas *tous les warnings* mais *beaucoup de warning*.
Bvarf. Si je comprends bien, "all" veut autant dire dire "tous" que
(std: "remove" veut dire "enlever"...
|
Je crois qu'il est établi qu'en matière de logiciel, il vaut mieux
lire la doc que de deviner les fonctions à partir de découpage et
regroupement presqu'àléatoire des noms :-)
-f = -ma
-- Gaby
|
|
| Back to top |
|
 |
kanze Guest
|
Posted: Wed Jan 25, 2006 7:53 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Gabriel Dos Reis wrote:
| Quote: | Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
On Tue, 24 Jan 2006 08:12:58 +0000 (UTC), Marc Boyer
[email]Marc.Boyer (AT) enseeiht (DOT) yahoo.fr.inva[/email]lid>:
-Wall ce n'est pas *tous les warnings* mais *beaucoup de warning*.
Bvarf. Si je comprends bien, "all" veut autant dire dire
"tous" que (std: "remove" veut dire "enlever"...
|
Et « Wall » signifie « mur » . (Et fait, je n'ai jamais
rencontré un compilateur où on veut tous les avertissements.
Pour je ne sais pas quelle raison, il y en a toujours un ou deux
qui sont franchement ridicule.)
| Quote: | Je crois qu'il est établi qu'en matière de logiciel, il vaut
mieux lire la doc que de deviner les fonctions à partir de
découpage et regroupement presqu'àléatoire des noms
|
Je crois que ça dépend du contexte. Quand tu écris du code, il
faut bien lire le doc, soigneusement, pour être sûr de respecter
des préconditions, etc. Quand tu le lis, rapidement, il faut
pouvoir se fier aux noms des fonctions pour avoir une idée de ce
qu'elles font -- le but n'est pas toujours de comprendre tout en
détail, mais de comprendre assez pour savoir quelle partie il
faut étudier en détail.
Dans le cas de -Wall, on pourrait arguer que vue que c'est dans
une ligne de commande, c'est conçu pour être écrit plus que pour
être lu. Avoir à taper
--activate-warnings-which-the-compiler-author-thinks-are-important
chaque fois que tu invoques le compilateur n'est peut-être pas
au goût de tout le monde.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
Bruno Jouhier Guest
|
Posted: Wed Jan 25, 2006 8:49 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
| Quote: | Et « Wall » signifie « mur » . (Et fait, je n'ai jamais
rencontré un compilateur où on veut tous les avertissements.
Pour je ne sais pas quelle raison, il y en a toujours un ou deux
qui sont franchement ridicule.)
|
Ca fait longtemps que je n'ai pas utilisé gcc sérieusement mais à l'époque
ou je faisait du C et du C++ (il y a un peu plus de 10 ans), Richard
Stallman avait encore le contrôle et les warnings -Wall étaient
intelligents, bien formulés, etc. Rien de ridicule là-dedans. Pour avoir du
ridicule il fallait activer -pedantic. RMS avait fait le tri.
Bruno.
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jan 25, 2006 3:13 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
On 24 Jan 2006 23:53:38 -0800, "kanze" <kanze (AT) gabi-soft (DOT) fr>:
| Quote: | Avoir à taper
--activate-warnings-which-the-compiler-author-thinks-are-important
chaque fois que tu invoques le compilateur n'est peut-être pas
au goût de tout le monde.
|
AMHA on ne devrait pas avoir à le taper : ça devrait être l'option par
défaut.
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Wed Jan 25, 2006 4:13 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | On 24 Jan 2006 23:53:38 -0800, "kanze" <kanze (AT) gabi-soft (DOT) fr>:
Avoir à taper
--activate-warnings-which-the-compiler-author-thinks-are-important
chaque fois que tu invoques le compilateur n'est peut-être pas
au goût de tout le monde.
AMHA on ne devrait pas avoir à le taper : ça devrait être l'option par
défaut.
|
Well, des gens raisonnables ont différents avis raisonnables sur la
question. J'ai perdu cette bataille depuis.
Et de plus, franchement, il y a des warninigs dans -Wall que je n'ai
pas envie d'avoir dans du code très raisonnable. Je viens d'en virer
un pas plus tard qu'avant-hier -- mais cela prend du temps.
-- Gaby
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jan 25, 2006 6:08 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
On 24 Jan 2006 23:53:38 -0800, "kanze" <kanze (AT) gabi-soft (DOT) fr>:
| Quote: | Et « Wall » signifie « mur »
|
J'ai effectivement mis un certain temps à comprendre pourquoi les
intervenants de fclc++ parlaient de mur à tout bout de champ ~_~
|
|
| Back to top |
|
 |
kanze Guest
|
Posted: Thu Jan 26, 2006 8:16 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Bruno Jouhier wrote:
| Quote: | Et « Wall » signifie « mur » . (Et fait, je n'ai jamais
rencontré un compilateur où on veut tous les avertissements.
Pour je ne sais pas quelle raison, il y en a toujours un ou
deux qui sont franchement ridicule.)
Ca fait longtemps que je n'ai pas utilisé gcc sérieusement
mais à l'époque ou je faisait du C et du C++ (il y a un peu
plus de 10 ans), Richard Stallman avait encore le contrôle et
les warnings -Wall étaient intelligents, bien formulés, etc.
Rien de ridicule là-dedans. Pour avoir du ridicule il fallait
activer -pedantic. RMS avait fait le tri.
|
Depuis tout le temps (ou au moins depuis quinze ans), -Wall
n'avait pas activé assez d'avertissements ; il a toujours fallu
activer aussi -pedantic. Ça date, et je ne me rappelle plus des
avertissements idiots à l'époque, mais il y en a bien
aujourd'hui. Y compris certains que je ne sais pas supprimer,
genre « vous vous êtes servi de tmpnam, ce n'est pas bien » (or
que c'est bien LA fonction qu'il faut, dans le contexte où je
l'utilise).
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
kanze Guest
|
Posted: Thu Jan 26, 2006 8:19 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Fabien LE LEZ wrote:
| Quote: | On 24 Jan 2006 23:53:38 -0800, "kanze" <kanze (AT) gabi-soft (DOT) fr>:
Avoir à taper
--activate-warnings-which-the-compiler-author-thinks-are-important
chaque fois que tu invoques le compilateur n'est peut-être pas
au goût de tout le monde.
AMHA on ne devrait pas avoir à le taper : ça devrait être
l'option par défaut.
|
Je serais d'accord s'il n'y avait que des avertissements
intéressants là-dedans, et qu'il y avait tous les avertissements
intéressants. Ce n'est malheureusement jamais le cas.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Thu Jan 26, 2006 4:34 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
"kanze" <kanze (AT) gabi-soft (DOT) fr> writes:
| Quote: | Bruno Jouhier wrote:
Et « Wall » signifie « mur » . (Et fait, je n'ai jamais
rencontré un compilateur où on veut tous les avertissements.
Pour je ne sais pas quelle raison, il y en a toujours un ou
deux qui sont franchement ridicule.)
Ca fait longtemps que je n'ai pas utilisé gcc sérieusement
mais à l'époque ou je faisait du C et du C++ (il y a un peu
plus de 10 ans), Richard Stallman avait encore le contrôle et
les warnings -Wall étaient intelligents, bien formulés, etc.
Rien de ridicule là-dedans. Pour avoir du ridicule il fallait
activer -pedantic. RMS avait fait le tri.
Depuis tout le temps (ou au moins depuis quinze ans), -Wall
n'avait pas activé assez d'avertissements ; il a toujours fallu
activer aussi -pedantic.
|
C'est toujours le cas. Et aujouter -ansi ou -std=c++98.
| Quote: | Ça date, et je ne me rappelle plus des
avertissements idiots à l'époque, mais il y en a bien
aujourd'hui. Y compris certains que je ne sais pas supprimer,
genre « vous vous êtes servi de tmpnam, ce n'est pas bien » (or
que c'est bien LA fonction qu'il faut, dans le contexte où je
l'utilise).
|
Ça c'est le linker, pas GCC.
-- Gaby
|
|
| Back to top |
|
 |
kanze Guest
|
Posted: Fri Jan 27, 2006 8:33 am Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Gabriel Dos Reis wrote:
| Quote: | "kanze" <kanze (AT) gabi-soft (DOT) fr> writes:
Bruno Jouhier wrote:
Et « Wall » signifie « mur » . (Et fait, je n'ai
jamais rencontré un compilateur où on veut tous les
avertissements. Pour je ne sais pas quelle raison, il y
en a toujours un ou deux qui sont franchement ridicule.)
Ca fait longtemps que je n'ai pas utilisé gcc sérieusement
mais à l'époque ou je faisait du C et du C++ (il y a un
peu plus de 10 ans), Richard Stallman avait encore le
contrôle et les warnings -Wall étaient intelligents, bien
formulés, etc. Rien de ridicule là-dedans. Pour avoir du
ridicule il fallait activer -pedantic. RMS avait fait le
tri.
Depuis tout le temps (ou au moins depuis quinze ans), -Wall
n'avait pas activé assez d'avertissements ; il a toujours
fallu activer aussi -pedantic.
C'est toujours le cas. Et aujouter -ansi ou -std=c++98.
|
Tout à fait.
En passant, je trouve la forme -std=c++98 particulièrement bien
conçue. Après tout, comme j'ai lu dans un .sig quelque part,
«@The nice thing about standards is that there are so many to
chose from. » Alors, on précise le parfum du jour. Ça deviendra
particulièrement interessant quand il y aura une nouvelle
version de C++, avec peut-être quelques petites incompatibilités
avec l'ancienne. Alors, -std=c++98 pour l'ancien code,
-std=c++0x pour le nouveau.
En ce qui me concerne, je serais pour exiger un -std=x en
option, toujours, pour chaque langage qu'on compile. Avec aussi
éventuellement un -std=posix-x.y, si on y arrive. J'aime bien
l'idée de spécifier exactement quelles normes m'ont servies.
Mais j'imagine qu'il y a beaucoup d'autres utilisateurs qui ne
seraient pas d'accord.
| Quote: | Ça date, et je ne me rappelle plus des avertissements idiots
à l'époque, mais il y en a bien aujourd'hui. Y compris
certains que je ne sais pas supprimer, genre « vous vous
êtes servi de tmpnam, ce n'est pas bien » (or que c'est bien
LA fonction qu'il faut, dans le contexte où je l'utilise).
Ça c'est le linker, pas GCC.
|
Il sort lors de la compilation, si je me souviens correctement.
En revanche, il ne sort que sous Linux ; le même code exactement
se compile sous Solaris sans avertissement.
Enfin, je crois. L'internet ne marche plus chez moi ; Free a
annoncé qu'il leur faudrait plus d'un mois avant qu'ils ne
régardent le problème, et je suis en train de changer de
fournisseurs. Du coup, j'ai profité du temps mort pour
réinstaller la dernière version de Linux (Mandriva 2005), et il
n'y a donc plus rien qui ne marche. (Il paraît que je ne suis
pas le seul à avoir eu de tels problèmes avec Free.)
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Fri Jan 27, 2006 2:56 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
"kanze" <kanze (AT) gabi-soft (DOT) fr> writes:
[...]
| Quote: | En passant, je trouve la forme -std=c++98 particulièrement bien
conçue. Après tout, comme j'ai lu dans un .sig quelque part,
«@The nice thing about standards is that there are so many to
chose from. » Alors, on précise le parfum du jour. Ça deviendra
particulièrement interessant quand il y aura une nouvelle
version de C++, avec peut-être quelques petites incompatibilités
avec l'ancienne. Alors, -std=c++98 pour l'ancien code,
-std=c++0x pour le nouveau.
|
oui, c'est déjà le cas pour C, ou nous avons -std=C89 et -std=C99
[...]
| Quote: | Ça date, et je ne me rappelle plus des avertissements idiots
à l'époque, mais il y en a bien aujourd'hui. Y compris
certains que je ne sais pas supprimer, genre « vous vous
êtes servi de tmpnam, ce n'est pas bien » (or que c'est bien
LA fonction qu'il faut, dans le contexte où je l'utilise).
Ça c'est le linker, pas GCC.
Il sort lors de la compilation, si je me souviens correctement.
En revanche, il ne sort que sous Linux ;
|
Tu as raison sur un point: C'est une combinaison de GNU ld et glibc.
GNU ld support la section "warning", alord glibc lui demande d'émettre
un warning lorsque le symbole est utilisé.
http://lists.gnu.org/archive/html/bug-binutils/2004-07/msg00071.html
Cela m'a frustré la première fois que je l'ai eu en compilant Axiom
mais bon, pas outre mesure.
-- Gaby
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Fri Jan 27, 2006 3:01 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Gabriel Dos Reis <dosreis (AT) cmla (DOT) ens-cachan.fr> writes:
| Quote: | Tu as raison sur un point: C'est une combinaison de GNU ld et glibc.
GNU ld support la section "warning", alord glibc lui demande d'émettre
un warning lorsque le symbole est utilisé.
|
Est-ce qu'il y a moyen de lui demander de se taire?
Les warnings, c'est bien tant qu'on peut les controler. Quand on ne
peut pas...
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Fri Jan 27, 2006 3:24 pm Post subject: Re: mutation d'instance (héritage multiple) |
|
|
Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> writes:
| Quote: | Gabriel Dos Reis <dosreis (AT) cmla (DOT) ens-cachan.fr> writes:
Tu as raison sur un point: C'est une combinaison de GNU ld et glibc.
GNU ld support la section "warning", alord glibc lui demande d'émettre
un warning lorsque le symbole est utilisé.
Est-ce qu'il y a moyen de lui demander de se taire?
|
Je ne sais pas s'il support l'équivalent de -Wno-xxx ou -w.
| Quote: | Les warnings, c'est bien tant qu'on peut les controler. Quand on ne
peut pas...
|
Yup.
-- Gaby
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|