Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File11.23.2 Wozu Shared Libraries? TOS Gegenüber fest eingelinkten Bibliotheken ergeben sich eine Reihe von Vorteilen: ∙ Speicherplatzersparnis auf der Festplatte. Je mehr Programme dieselben Bibliotheken verwenden, desto größer ist die Ersparnis. ∙ Speicherplatzersparnis im Hauptspeicher. Dies kommt erst dann zum Tragen, wenn mehrere Programme gleichzeitig geladen sind, die dieselbe Bibliothek verwenden. ∙ Systematische Wartung für den Programmierer: Beim Update genügt es mitunter, nur eine neue Bibliothek nachzureichen. Von diesem Update profitieren dann alle Programme, die die Bibliothek verwenden. Außerdem sind weniger Quelltexte zu warten. Wenn eine Bibliothek verändert wurde, müssen nicht alle Programme, die sie verwenden, neu übersetzt werden. Natürlich gibt es auch Nachteile: ∙ Das Programmladen dauert etwas länger. Jedoch nur, wenn die Bibliothek noch nicht geladen ist. ∙ Es können sich Wechselwirkungen von Updates verschiedener Programme ergeben. Beim Austausch einer Bibliothek können mehrere Programme betroffen sein (positiv oder negativ). ∙ Bei der Installation eines Programms müssen Dateien in den XTENSION- bzw. den ersten in der Suchliste SLBPATH angegebenen Ordner (ab MagiC 6) kopiert werden, es ist also nicht mehr ohne weiteres nachvollziehbar, zu welchem Programm welche Shared Library gehört. Abhilfe z.B.: - Nur Aliase in den XTENSION-Ordner bzw. den ersten durch die Environment-Variable SLBPATH (s.u.) angegebenen Ordner legen. - Shared Libraries in einem Unterverzeichnis des Programms belassen und lediglich die Environment-Variable SLBPATH in MAGX.INF um dieses Verzeichnis erweitern (ab MagiC 6 möglich). Falls noch keine Variable SLBPATH existiert, muß der XTENSION-Pfad dort zunächst eingetragen werden.