1

voilà, je voulais savoir comment était gerer les libs dynamiques par l'os (linux ici).
Est ce qu'une seul copie en ram est necessaire si 2 progs en ont besoin?

Parce que pas mal de progs mettent du tmps a demarrer comme firefox etc... donc si je precharge les lib au demarrage normalement je devrai gagner en rapidité?

2

1 seule copie de la section .text, mais plusieurs copies de la section .data.
Mais une lib compilee en .so sera plus lente qu'une lib statique .a.

Au passage, le linkeur dynamique ne fait pas partie du kernel.

Plus d'infos: http://people.redhat.com/drepper/dsohowto.pdf

3

Le mieux pour un chargement rapide, c'est CFLAGS='-Os -static'.

Mais pour les programmes linkés dynamiquement, il y a des astuces pour réduire le temps de linking dynamique, et donc le temps de chargement:
* prelinking: ftp://people.redhat.com/jakub/prelink/, ou spécifique à Gentoo: http://www.gentoo.org/doc/fr/prelink-howto.xml
* préchargement: http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/kinit/, http://www.suse.de/~bastian/Export/linking.txt
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

ok merci