Warum ist der Start einer App unter Linux langsamer, wenn gemeinsam genutzte Bibliotheken verwendet werden?

Bei dem eingebetteten Gerät, an dem ich arbeite, ist die Startzeit ein wichtiges Problem. Die gesamte Anwendung besteht aus mehreren ausführbaren Dateien, die eine Reihe von Bibliotheken verwenden. Da der Speicherplatz im FLASH-Speicher begrenzt ist, möchten wir gemeinsam genutzte Bibliotheken verwenden.

Die Anwendung funktioniert beim Kompilieren und Verknüpfen mit gemeinsam genutzten Bibliotheken wie gewohnt und der FLASH-Speicher wird erwartungsgemäß reduziert. Der Unterschied zu der Version, die mit statischen Bibliotheken verknüpft ist, besteht darin, dass die Startzeit der Anwendung etwa 20 Sekunden länger ist und ich keine Ahnung habe, warum.

Die Anwendung läuft auf einer ARM9-CPU mit 180 MHz unter Linux 2.6.17, 16 MB FLASH (JFFS-Dateisystem) und 32 MB RAM.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage