Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Linux bzw. Non-MS & Programme (https://www.tweakpc.de/forum/linux-bzw-non-ms-and-programme/)
-   -   static, shared wo ist der unterschied. (https://www.tweakpc.de/forum/linux-bzw-non-ms-and-programme/9193-static-shared-wo-ist-der-unterschied.html)

_Smash_ 19.06.2003 17:40

static, shared wo ist der unterschied.
 
hallo

ich lese immer wieder von unterschiedlichen versionen bei programmdateien, wenn man was runterladen will...

jüngstes beispiel

mldonkey-2.5-3.shared.i586-Linux.tar.bz2
mldonkey-2.5-3.static.i586-Linux.tar.bz2

worin besteht der unterschied zwischen static und shared?

sys3 19.06.2003 21:13

Shared heißt, dass das Programm erwartet, dass gewisse Funktions-Bibliotheken auf Deinem Rechner vorhanden sind. Diese Bibliotheken heißen Shared Object, haben die Dateiendung .so und liegen üblicherweise unter /lib, /usr/lib und auch /usr/local/lib. Die Funktions-Aufrufe in die Bibliotheken werden bei der Programmerstellung dynamisch gelinkt, d.h. es werden nur Verweise auf die Bibliotheks-Funktionen eingefügt. Shared Objects entsprechen den DLLs auf einem MS Windows-System.
Static-Versionen bringen die benötigten Bibliotheken selbst mit, die Funktions-Aufrufe in die Bibliotheken werden bei der Programmerstellung statisch gelinkt, d.h. die Bibliotheken werden fester Bestandteil des erstellten Programms.
Der Vorteil dyn. gelinkten Programme ist, dass die Shared Objects nur einmal in den Hauptspeicher geladen werden müssen und dann von verschiedenen Programmen benutzt werden können. Auch auf der Platte nehmen die Programme so weniger Platz weg. Der Nachteil ist, dass es evtl. Inkompatibilitäten zw. dyn. gelinkten Programmen und Bibliotheksdateien geben kann oder dass man Bibliotheken von Hand nachinstallieren muss.

Die von einem Programm benötigten Shared Objects kann man mit dem Befehl ldd feststellen, die Aufrufe eines laufenden Programms mit dem Befehl ltrace.

Ciao,
sys3

_Smash_ 20.06.2003 01:23

danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.