On Wed, Nov 03, 2004 at 07:02:29PM +0100, Laurent Martelli wrote:
> >>>>> "Gabriel" == Gabriel Paubert <[EMAIL PROTECTED]> writes:
>
> [...]
>
> Gabriel> Autre exemple de gag en C++ avec gtkmm, juste d�river une
> Gabriel> classe de Gtk::Window: les constructeurs/destructeurs et
> Gabriel> autres tables virtuelles construits juste pour �a font 20
> Gabriel> kilo-octets avant m�me de rajouter ta fonctionnalit�. Ces
> Gabriel> 20 kilo-octets disparaissent si tu mets le Gtk::Window
> Gabriel> comme membre de ta classe.
>
> Il y a peut-�tre pas mal de symbols pour le d�buggage dans les
> 20Ko. As-tu essay� de stripper pour voir ?
Non, ce n'est pas du debug, en tout cas pas uniquement. Il y a
2 copies de chaque destructeur et constucteur pour des raisons
techniques que je viens de comprendre et j'ai gagn� 6koctets
en d�clarant des constructeurs tr�s courts qui appellent
d'autres fonctions pour �viter la duplication. Mais les vtables
et autres donn�es associ�es sont monstrueuses � cause de la
complexit� de la hi�rarchie de classes (bases multiples et
virtuelles). H�riter d'une classe existante semble plus propre
mais il faut vraiment en voir le co�t, composer est nettement
moins cher en terme de taille de l'ex�cutable et pas franchement
pire dans ce cas.
C'�tait mon premier projet en C++, il se pourrait bien que
ce soit le dernier.
Gabriel