1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Wie funkt. statische libs in C?

    • Frage
  • Incazzato
  • 29. November 2005 um 10:38
  • Unerledigt
  • Incazzato
    8
    Incazzato
    Mitglied
    Punkte
    570
    Beiträge
    85
    • 29. November 2005 um 10:38
    • #1

    Bsp. libstdc++.a:

    Code
    bitset.o:
    00000000 T _ZNKSt12_Base_bitsetILj1EE15_M_do_find_nextEjj
    00000000 T _ZNKSt12_Base_bitsetILj1EE16_M_do_find_firstEj
    00000000 D _ZSt12_S_bit_count
    00000000 D _ZSt12_S_first_one
    
    
    codecvt.o:
    00000000 t _GLOBAL__I__ZNSt7codecvtIcc11__mbstate_tEC2Ej
             U __gxx_personality_v0
             U _ZdlPv
    ...
    Alles anzeigen


    Da steht also drin, welche object-files welche Definitionen enthalten.
    Wo aber sind diese object-files? Ich verstehe nicht ganz, woher der Linker schlussendlich den einzufügenden Binärcode kriegt. Ich dachte immer, .a - libs enthalten komplette object-files, so wie in jar-Archiven .class-Dataien liegen, aber scheinbar sind da nur Referenzen drin. Aber wohin zeigen die? Oder unterliege ich einem Verständnisfehler des Ganzen?

  • jeuneS2
    11
    jeuneS2
    Mitglied
    Reaktionen
    17
    Punkte
    1.227
    Beiträge
    238
    • 29. November 2005 um 10:53
    • #2
    Zitat von Incazzato


    Da steht also drin, welche object-files welche Definitionen enthalten.
    Wo aber sind diese object-files? Ich verstehe nicht ganz, woher der Linker schlussendlich den einzufügenden Binärcode kriegt. Ich dachte immer, .a - libs enthalten komplette object-files, so wie in jar-Archiven .class-Dataien liegen, aber scheinbar sind da nur Referenzen drin. Aber wohin zeigen die? Oder unterliege ich einem Verständnisfehler des Ganzen?


    Ich weiß nicht wie du darauf kommst dass da nur Referenzen drinnen sein sollen. Dein Beispiel sieht aus wie die Ausgabe von nm, und da ist ja klar, dass nur Adressen zu sehen sind. Es sind in einer Library definitiv die gesamten Objectfiles enthalten.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    Punkte
    11.122
    Beiträge
    2.208
    • 29. November 2005 um 11:11
    • #3

    Mit ar kann man .a-files auch wieder entpacken (siehe man ar).

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Incazzato
    8
    Incazzato
    Mitglied
    Punkte
    570
    Beiträge
    85
    • 29. November 2005 um 11:16
    • #4
    Zitat von jeuneS2

    Ich weiß nicht wie du darauf kommst dass da nur Referenzen drinnen sein sollen. Dein Beispiel sieht aus wie die Ausgabe von nm, und da ist ja klar, dass nur Adressen zu sehen sind. Es sind in einer Library definitiv die gesamten Objectfiles enthalten.


    Tatsächlich. Interessanterweise gibt das "less" so schön leserlich aus, wie ich es reinkopiert habe, ohne vorher wg. binary file oder so zu warnen...

    Damit hätte sich die ganze Frage dann geklärt, danke

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung