.dll-Äquivalent beim Mac?

  1. McOdysseus

    McOdysseus Thread Starter MacUser Mitglied

    Mitglied seit:
    31.12.2003
    Beiträge:
    6.221
    Medien:
    1
    Zustimmungen:
    826
    Hallo zusammen!

    Ich gebe offen zu: Ich bin ein Informatik-Nerd!
    Da ich über die Suche keine Antwort gefunden habe (obwohl ich sicher bin, daß diese oder eine ähnliche Frage hier schon gestelllt wurde…), wäre es nett, wenn mir jemand erklären könnte, was der Zweck von 'dynamic libraries' bei Windows-basierten Rechnern sind (Wirklich nur das Zugreifen verschiedener Anwendungen auf gemeinsam verwendete Daten?) und durch was Selbige bei Apple-Rechnern funktional 'ersetzt' werden.

    Bitte bedenkt, daß meinem technischen Verständnis enge Grenzen gesetzt sind! ;)

    Danke für eure Mühen!
    McO
     
    McOdysseus, 17.03.2006
    #1
  2. oneOeight

    oneOeight MacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.160
    Zustimmungen:
    3.885
    das nahe liegende .dylib übersehen? ,)

    dynamisch heisst halt, dass du zur laufzeit dazu gelinkt werden, im gegensatz zu static libraries, die beim kompilieren gelinkt werden...
     
    oneOeight, 17.03.2006
    #2
  3. misti

    misti MacUser Mitglied

    Mitglied seit:
    09.06.2004
    Beiträge:
    3.495
    Zustimmungen:
    33
    dann bist du kein nerd sondern ein n00b ;)
     
    misti, 17.03.2006
    #3
  4. McOdysseus

    McOdysseus Thread Starter MacUser Mitglied

    Mitglied seit:
    31.12.2003
    Beiträge:
    6.221
    Medien:
    1
    Zustimmungen:
    826
    In der Tat hab ich das Übersehen, aber in diesem Themenbereich bewege ich mich ohnehin wie ein Blinder mit Sonnenbrille bei Neumond.

    Weißt du vielleicht eine Stelle, an der ich über das Thema etwas (in verständlicher Sprache) nachlesen kann?

    Danke
    McO
     
    McOdysseus, 17.03.2006
    #4
  5. Gremlin

    Gremlin MacUser Mitglied

    Mitglied seit:
    11.01.2006
    Beiträge:
    742
    Zustimmungen:
    3
    Es gibt einen recht guten Wikipedia-Artikel. Der ist zwar Windows-Spezifisch, aber die dylibs von MacOS X funktionieren sehr ähnlich.

    Gremlin
     
    Gremlin, 17.03.2006
    #5
  6. McOdysseus

    McOdysseus Thread Starter MacUser Mitglied

    Mitglied seit:
    31.12.2003
    Beiträge:
    6.221
    Medien:
    1
    Zustimmungen:
    826
    Den Wikipedia-Artikel hatte ich auch schon gefunden, aber der Vergleich zum Mac fehlte mir halt…

    Trotzdem danke für den Hinweis!
     
    McOdysseus, 17.03.2006
    #6
  7. wegus

    wegus MacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    @McO: 2te Webseite von rechts, 4ter link von oben ;)

    Grob vereinfacht verhält es sich so:

    Ein Programm besteht aus

    - so genanntem entry-Code, der ein Programm beim System anmelet und den Start ermöglicht.
    - einer Hauptrouztine die den Gesamtablauf überwacht
    - einem Haufen Objekten und/oder Prozeduren
    - einem Exit-Code der ein Programm sauber beendet und Speicher freigibt

    Hat man nun häufig wiederkehrende Aufgaben, so kann man den Code mehrfach benutzen und erstellt sogenannte Libraries. Diese Haben weder Entry- noch Exit-Code und verfügenn auch über keine Hauptroutine, denn das wäre ja alles überflüssig. Im Grunde sind es Sammlungen von Prozeduren oder Objekten. Daher der Name Library. Da man sich zu diesen dynamisch verbinden ( to link) kann, heißen die bei Windows DynamicLinkLibraries oder eben kurz DLL!

    Bei allen (T)UNIXen enden diese Libraries nicht auf *.dll sondern *.so! Das Prinzip ist jedoch ähnlich!


    Bitte nicht hauen, wenn's technisch nicht 100%ig ist, es ging McO ja um das Prinzip!
     
    wegus, 17.03.2006
    #7
  8. McOdysseus

    McOdysseus Thread Starter MacUser Mitglied

    Mitglied seit:
    31.12.2003
    Beiträge:
    6.221
    Medien:
    1
    Zustimmungen:
    826
    @wegus

    also entsprechen die 'sharedobjects' den 'dynamiclinklibraries'?

    na dann schiebe ich noch eine eitle (und wahrscheinlich auch naive) frage hinterher:
    warum höre ich (rein subjektiv) recht häufig windows-user über .dlls fluchen, aber noch nie einen unix/mac-user über .so-dateien?
     
    McOdysseus, 17.03.2006
    #8
  9. lundehundt

    lundehundt MacUser Mitglied

    Mitglied seit:
    22.02.2003
    Beiträge:
    17.769
    Zustimmungen:
    881
    Das Prizip der Dynamischen Library findet sich wohl auf den meisten Betriebssystemen. Eine Library ist keineswegs nur eine Ansammlung gemeinsam genutzter Daten sondern eher eine Sammlung von subprogrammen die es erlauben, Programme modularer aufzubauen.

    Wenn Programmcode compiliert wird laeuft ein linking step der externe Libraries in den Programmcode einbindet. Dann spricht man von statischen Libraries.

    Eine dynamische Library steht therortisch allen Programmen zur Verfuegung und muss nicht zum Zeitpunkt des compilierens gelinkt werden. Erst wenn das Programm aufgerufen wird tritt ein "loader" auf den Plan der vom OS geteuert wird der die Library erst zur Laufzeit des Programmes laed.

    Unter Mac OS X liegen die dynamischen Libraries im Verzeichnis Libraries (wo sonst) und haben den suffix .dylib. Oder sie sind in sogenannte bundels zusammengefasst die die Endung .framework haben.
     
    lundehundt, 17.03.2006
    #9
  10. wegus

    wegus MacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    Lunde hat es schon beantowrtet, die kurze Erklärung ist "Organisation ist Alles!".

    Bei UNIXen ist es üblich Libs mit Versionen zu bezeichnen:

    libraryabc-1.0.12.so
    libraryabc-1.0.13.so
    libraryabc-1.0.14.so

    die jeweils aktuelle wird über einen symbolischen link adressiert der hier

    libraryabc.so hieße und auf libraryabc-1.0.14.so zeigen würde. Somit erreichen die Programme immer eine Library ( wenn auch nicht immer die neueste auf jedem Rechner vorliegt, so gibt es dann die neueste auf diesem Rechner). Programmiert man nun geschickt und fragt die Version der Library ab, kann man abhängig von der Version unterschiedliche Fähigkeiten aus der Library nutzen.

    Wer bei Windows ( vor allem bei alten Systemen) mal in das System32 und System-Verzeichnis guckt, findet unmgengen von DLLs. Allein schon die immense Zahl unterschiedlicher VisualBasic-Runtime-DLLs ( mit unterschiedlichem Namen), ist irre! Da braucht dann Programm XY die Runtime aus Version 6, und Programm XYZ die von VB for Applications...

    im Grunde fehlt Windows da ein strengerer Formalismus. Das ist eigentlich Alles!
     
    wegus, 17.03.2006
    #10
Die Seite wird geladen...
Ähnliche Themen - dll Äquivalent beim
  1. elPadrone
    Antworten:
    6
    Aufrufe:
    134
    Schiffversenker
    15.07.2017
  2. iAlessio
    Antworten:
    18
    Aufrufe:
    339
    Roman78
    08.07.2017
  3. SchappiMu
    Antworten:
    12
    Aufrufe:
    337
    SchappiMu
    10.07.2017
  4. kuebler
    Antworten:
    8
    Aufrufe:
    221
    kuebler
    24.06.2017
  5. thec
    Antworten:
    4
    Aufrufe:
    1.334
    thec
    06.02.2008