Une reflexion à propos de la question posée précédemment sur
l'incidence de la supression d'un private dans un source.
La question d'origine était : Est-ce que le fait de supprimer
un ou plusieurs "private" peut modifier le comportement du programme ?
Dans le cas en question, sans doute pas, mais il est des cas...
Par exemple en modifiant le type d"héritage.
La plupart des compilateurs utilisent l'EBO ( Empty Base Optimization ), et
il
s'avère que dans le cas d'un héritage privé d'une classe vide :
class Nutshell { };
, l'EBO peut s'effectuer. Donc, dans la pratique, la taille du code généré
peut varier
selon le type d'héritage ( ...d'une classe vide ).
En résumé,
class A : private Nutshell
{
private:
int Value;
};
peut avoir une taille différente de :
class A : public Nutshell
{
private:
int Value;
};
Si le code effectue des tests sur la taille de la classe :
if( sizeof( A ) > otherclass ) ... //
cela peut modifier le comportement du programme à l'execution !
Je sais, c'est tordu ;-)
Et d'ailleurs, mon raisonnement est-il correct ?
Pour commencer, c'est assez difficile de le faire passer par le service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui développe un logiciel dans son garage, est capable de faire une page web avec achat direct et paiement par Paypal. Pas eux.
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il faut de toutes façons un compilateur (C) pour le faire tourner. Du coup, n'importe quel compilo récent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, à moins peut-être qu'on veuille vérifier/bidouiller un point précis du langage.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul à implémenter "export" (c'était le cas pendant un moment), il faut bien qu'il y ait un linker spécial pour le gérer, il me semble.
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze <kanze@none>:
Pour commencer, c'est assez difficile de le faire passer par le
service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui
développe un logiciel dans son garage, est capable de faire une page
web avec achat direct et paiement par Paypal. Pas eux.
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il faut de
toutes façons un compilateur (C) pour le faire tourner. Du coup,
n'importe quel compilo récent et pas trop pourri (gcc par exemple) est
aussi bien et plus pratique, à moins peut-être qu'on veuille
vérifier/bidouiller un point précis du langage.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul à
implémenter "export" (c'était le cas pendant un moment), il faut bien
qu'il y ait un linker spécial pour le gérer, il me semble.
Pour commencer, c'est assez difficile de le faire passer par le service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui développe un logiciel dans son garage, est capable de faire une page web avec achat direct et paiement par Paypal. Pas eux.
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il faut de toutes façons un compilateur (C) pour le faire tourner. Du coup, n'importe quel compilo récent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, à moins peut-être qu'on veuille vérifier/bidouiller un point précis du langage.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul à implémenter "export" (c'était le cas pendant un moment), il faut bien qu'il y ait un linker spécial pour le gérer, il me semble.
James Kanze
Fabien LE LEZ wrote:
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze :
Pour commencer, c'est assez difficile de le faire passer par le service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui développe un logiciel dans son garage, est capable de faire une page web avec achat direct et paiement par Paypal. Pas eux.
Si tu es une société, tu n'achètes pas avec Paypal. Je suis sûr que si tu contactais Greg Comeau, en vue de l'acheter pour une dizaine de développeurs ou plus, il trouverait bien un moyen qui convient pour le payement. (Il ferait aussi certainement un prix, même si ses prix de base sont déjà assez bas.)
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il faut de toutes façons un compilateur (C) pour le faire tourner.
Je crois que ça dépend. Je ne crois pas que Greg développe réelement des back-ends. Mais là aussi : c'est une petite boîte, qui est près à faire du sur-mesure quand il faut.
Du coup, n'importe quel compilo récent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, à moins peut-être qu'on veuille vérifier/bidouiller un point précis du langage.
Je ne sais pas. Pour commencer, avoir « export » n'est pas sans intérêt dans un gros projet. De même que d'être sûr que ton code marche avec la prochaine version du compilateur, parce qu'il est conforme.
Il y a aussi la question de portabilité. Le code que tu développes sous Linux marche sous Windows. C'est le vieux argument pour g++, en plus fort.
Et enfin, je ne dis pas de g++ aujourd'hui, mais il y a bien de compilateurs C++ avec nettement plus d'erreurs.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul à implémenter "export" (c'était le cas pendant un moment), il faut bien qu'il y ait un linker spécial pour le gérer, il me semble.
À vrai dire, je n'ai jamais régardé en détail. Mais vu que tous les autres compilateurs C++ pour Unix ont des pre- ou des post-linker, je ne sais pas pourquoi il serait différent.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Fabien LE LEZ wrote:
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze <kanze@none>:
Pour commencer, c'est assez difficile de le faire passer par
le service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui
développe un logiciel dans son garage, est capable de faire
une page web avec achat direct et paiement par Paypal. Pas
eux.
Si tu es une société, tu n'achètes pas avec Paypal. Je suis sûr
que si tu contactais Greg Comeau, en vue de l'acheter pour une
dizaine de développeurs ou plus, il trouverait bien un moyen qui
convient pour le payement. (Il ferait aussi certainement un
prix, même si ses prix de base sont déjà assez bas.)
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il
faut de toutes façons un compilateur (C) pour le faire
tourner.
Je crois que ça dépend. Je ne crois pas que Greg développe
réelement des back-ends. Mais là aussi : c'est une petite boîte,
qui est près à faire du sur-mesure quand il faut.
Du coup, n'importe quel compilo récent et pas trop pourri (gcc
par exemple) est aussi bien et plus pratique, à moins
peut-être qu'on veuille vérifier/bidouiller un point précis du
langage.
Je ne sais pas. Pour commencer, avoir « export » n'est pas sans
intérêt dans un gros projet. De même que d'être sûr que ton code
marche avec la prochaine version du compilateur, parce qu'il est
conforme.
Il y a aussi la question de portabilité. Le code que tu
développes sous Linux marche sous Windows. C'est le vieux
argument pour g++, en plus fort.
Et enfin, je ne dis pas de g++ aujourd'hui, mais il y a bien de
compilateurs C++ avec nettement plus d'erreurs.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul
à implémenter "export" (c'était le cas pendant un moment), il
faut bien qu'il y ait un linker spécial pour le gérer, il me
semble.
À vrai dire, je n'ai jamais régardé en détail. Mais vu que tous
les autres compilateurs C++ pour Unix ont des pre- ou des
post-linker, je ne sais pas pourquoi il serait différent.
--
James Kanze mailto: james.kanze@free.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Pour commencer, c'est assez difficile de le faire passer par le service achats -- il n'est pas assez cher.
Et plutôt compliqué à acheter. Aujourd'hui, n'importe qui qui développe un logiciel dans son garage, est capable de faire une page web avec achat direct et paiement par Paypal. Pas eux.
Si tu es une société, tu n'achètes pas avec Paypal. Je suis sûr que si tu contactais Greg Comeau, en vue de l'acheter pour une dizaine de développeurs ou plus, il trouverait bien un moyen qui convient pour le payement. (Il ferait aussi certainement un prix, même si ses prix de base sont déjà assez bas.)
Ensuite, il n'y a pas de débuggeur.
Est-ce même un compilateur complet ? J'ai cru comprendre qu'il faut de toutes façons un compilateur (C) pour le faire tourner.
Je crois que ça dépend. Je ne crois pas que Greg développe réelement des back-ends. Mais là aussi : c'est une petite boîte, qui est près à faire du sur-mesure quand il faut.
Du coup, n'importe quel compilo récent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, à moins peut-être qu'on veuille vérifier/bidouiller un point précis du langage.
Je ne sais pas. Pour commencer, avoir « export » n'est pas sans intérêt dans un gros projet. De même que d'être sûr que ton code marche avec la prochaine version du compilateur, parce qu'il est conforme.
Il y a aussi la question de portabilité. Le code que tu développes sous Linux marche sous Windows. C'est le vieux argument pour g++, en plus fort.
Et enfin, je ne dis pas de g++ aujourd'hui, mais il y a bien de compilateurs C++ avec nettement plus d'erreurs.
D'un autre côté, ça me laisse perplexe : si Comeau est le seul à implémenter "export" (c'était le cas pendant un moment), il faut bien qu'il y ait un linker spécial pour le gérer, il me semble.
À vrai dire, je n'ai jamais régardé en détail. Mais vu que tous les autres compilateurs C++ pour Unix ont des pre- ou des post-linker, je ne sais pas pourquoi il serait différent.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Si tu es une société, tu n'achètes pas avec Paypal.
Objection. Je suis une société et il m'arrive d'acheter avec PayPal quand le vendeur est petit, situé à l'étranger, et ne prend pas la carte de crédit. A part Western Union, je ne vois pas plus rapide.
James Kanze :
Si tu es une société, tu n'achètes pas avec Paypal.
Objection. Je suis une société et il m'arrive d'acheter avec PayPal
quand le vendeur est petit, situé à l'étranger, et ne prend pas la carte
de crédit. A part Western Union, je ne vois pas plus rapide.
Si tu es une société, tu n'achètes pas avec Paypal.
Objection. Je suis une société et il m'arrive d'acheter avec PayPal quand le vendeur est petit, situé à l'étranger, et ne prend pas la carte de crédit. A part Western Union, je ne vois pas plus rapide.
kanze
Bertrand Lenoir-Welter wrote:
Stan :
A défaut de voir le visage du locuteur et d'entendre l'intonation de sa voix, difficile de juger...
Homère, Shakespeare et Hugo ont tout de même réussi à s'en passer.
C'est vrai, mais j'avoue que j'écris un peu moins bien que ces gars-là.
(En passant, Shakespeare et Homère n'ont pas écrit pour être lu, mais pour être récité ou joué. Et dans le cas de Shakespeare, au moins, c'est certain que la plupart de l'humour passe beaucoup mieux sur la scène que dans un livre.)
-- 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
Bertrand Lenoir-Welter wrote:
Stan :
A défaut de voir le visage du locuteur et d'entendre
l'intonation de sa voix, difficile de juger...
Homère, Shakespeare et Hugo ont tout de même réussi à s'en
passer.
C'est vrai, mais j'avoue que j'écris un peu moins bien que ces
gars-là.
(En passant, Shakespeare et Homère n'ont pas écrit pour être lu,
mais pour être récité ou joué. Et dans le cas de Shakespeare, au
moins, c'est certain que la plupart de l'humour passe beaucoup
mieux sur la scène que dans un livre.)
--
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
A défaut de voir le visage du locuteur et d'entendre l'intonation de sa voix, difficile de juger...
Homère, Shakespeare et Hugo ont tout de même réussi à s'en passer.
C'est vrai, mais j'avoue que j'écris un peu moins bien que ces gars-là.
(En passant, Shakespeare et Homère n'ont pas écrit pour être lu, mais pour être récité ou joué. Et dans le cas de Shakespeare, au moins, c'est certain que la plupart de l'humour passe beaucoup mieux sur la scène que dans un livre.)
-- 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
Fabien LE LEZ
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze :
Ensuite, il n'y a pas de débuggeur.
On ne peut pas utiliser le débogueur du compilateur C back-end ?
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze <kanze@none>:
Ensuite, il n'y a pas de débuggeur.
On ne peut pas utiliser le débogueur du compilateur C back-end ?
On ne peut pas utiliser le débogueur du compilateur C back-end ?
comeau
Fabien LE LEZ wrote:
Est-ce mme un compilateur complet ?
<Franglais ON> Pas dans le sens traditionnel. Mais...
J'ai cru comprendre qu'il faut de toutes faons un compilateur (C) pour le faire tourner.
...mais nous travaillons trs dur de sorte qu'il soit aussi transparent comme possible. Les gens de cette manire peuvent construire sur leurs investissements existants, et en outre, largissez mme dans des neufs. Par consquent, la fin, il y a plus bien choisi, plus de possibilits, d'etc...
Du coup, n'importe quel compilo rcent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, moins peut-tre qu'on veuille vrifier/bidouiller un point prcis du langage.
C'est discutable dans les deux directions, ainsi on doit conclure les deux manires sont valide. -- Greg Comeau / Celebrating 20 years of Comeauity! Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90. Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Fabien LE LEZ wrote:
Est-ce mme un compilateur complet ?
<Franglais ON> Pas dans le sens traditionnel. Mais...
J'ai cru comprendre qu'il faut de
toutes faons un compilateur (C) pour le faire tourner.
...mais nous travaillons trs dur de sorte qu'il soit aussi transparent
comme possible. Les gens de cette manire peuvent construire sur
leurs investissements existants, et en outre, largissez mme dans des
neufs. Par consquent, la fin, il y a plus bien choisi, plus de
possibilits, d'etc...
Du coup,
n'importe quel compilo rcent et pas trop pourri (gcc par exemple) est
aussi bien et plus pratique, moins peut-tre qu'on veuille
vrifier/bidouiller un point prcis du langage.
C'est discutable dans les deux directions, ainsi on doit conclure
les deux manires sont valide.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
<Franglais ON> Pas dans le sens traditionnel. Mais...
J'ai cru comprendre qu'il faut de toutes faons un compilateur (C) pour le faire tourner.
...mais nous travaillons trs dur de sorte qu'il soit aussi transparent comme possible. Les gens de cette manire peuvent construire sur leurs investissements existants, et en outre, largissez mme dans des neufs. Par consquent, la fin, il y a plus bien choisi, plus de possibilits, d'etc...
Du coup, n'importe quel compilo rcent et pas trop pourri (gcc par exemple) est aussi bien et plus pratique, moins peut-tre qu'on veuille vrifier/bidouiller un point prcis du langage.
C'est discutable dans les deux directions, ainsi on doit conclure les deux manires sont valide. -- Greg Comeau / Celebrating 20 years of Comeauity! Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90. Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
kanze
Fabien LE LEZ wrote:
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze :
Ensuite, il n'y a pas de débuggeur.
On ne peut pas utiliser le débogueur du compilateur C back-end ?
Si on sait faire avec les noms manglés, oui.
-- 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
Fabien LE LEZ wrote:
On Sun, 18 Sep 2005 12:47:48 +0200, James Kanze <kanze@none>:
Ensuite, il n'y a pas de débuggeur.
On ne peut pas utiliser le débogueur du compilateur C back-end ?
Si on sait faire avec les noms manglés, oui.
--
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