statisches und dynamisches Linken
Verfasst: Mi Feb 27, 2013 3:08 pm
Hi, ich habe im Bereich Linking noch etwas Nachholebedarf bezüglich der Unterscheidung von statischem und dynamischem Linken.
Bisher ging ich davon aus, dass DLLs bzw. SOs statisch oder dynamisch linken kann. Beim dynamischen Linken gebe ich beim Kompilieren nicht an, auf welche Bibliothek ich mich beziehe und lade sie zur Lautzeit (dlopen bzw. die vergleichbare Funktion unter Windows). Auf Basis dieser Annahme ging ich bisher davon aus, dass statisches Linken erfolgt, indem ich z.B. dem Compiler die zu linkenden Bibliotheken mitteile (z.B. durch den Suffix "-lSDL" bei gcc).
Diese meine "Gedanken-Welt" hat bisher gehalten
Allerdings bin ich dann über den Wiki-Artikel zur SDL gestoßen:
http://de.wikipedia.org/wiki/Simple_Dir ... _1.3.2F2.0
Kann ich davon ausgehen, dass sowohl bei statischem als auch dynamischen Linken die DLLs bzw. SOs auf dem Rechner vorhanden sein müssen? Aus meiner derzeitigen Sicht wäre das einfach nur absolut logisch, dass es so ist. Inzwischen zweifel ich aber an meinem Wissen zu dieser Thematik insgesamt
Ich hoffe ihr könnt mir helfen
LG Glocke
Bisher ging ich davon aus, dass DLLs bzw. SOs statisch oder dynamisch linken kann. Beim dynamischen Linken gebe ich beim Kompilieren nicht an, auf welche Bibliothek ich mich beziehe und lade sie zur Lautzeit (dlopen bzw. die vergleichbare Funktion unter Windows). Auf Basis dieser Annahme ging ich bisher davon aus, dass statisches Linken erfolgt, indem ich z.B. dem Compiler die zu linkenden Bibliotheken mitteile (z.B. durch den Suffix "-lSDL" bei gcc).
Diese meine "Gedanken-Welt" hat bisher gehalten

http://de.wikipedia.org/wiki/Simple_Dir ... _1.3.2F2.0
Heißt das, dass bei proprietären Produkten die SDL nur dynamisch (also mit dlopen etc.) gelinkt werden darf? Oder ist das dynamische Linken nun doch das, was ich für statisches Linken hielt und das statische Linken etwas ganz anderes?Im Gegensatz zu früheren Versionen nutzt SDL 1.3 die zlib-Lizenz.[14] Durch diese soll es möglich sein, proprietäre Produkte (Closed Source) zu entwickeln, welche die SDL dann auch statisch binden („linken“) dürfen.

Kann ich davon ausgehen, dass sowohl bei statischem als auch dynamischen Linken die DLLs bzw. SOs auf dem Rechner vorhanden sein müssen? Aus meiner derzeitigen Sicht wäre das einfach nur absolut logisch, dass es so ist. Inzwischen zweifel ich aber an meinem Wissen zu dieser Thematik insgesamt

Ich hoffe ihr könnt mir helfen

LG Glocke