[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: se debarasser des applications graphiques



On Wed, Nov 03, 2004 at 07:02:29PM +0100, Laurent Martelli wrote:
> >>>>> "Gabriel" == Gabriel Paubert <paubert@iram.es> 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



Reply to: