Frage zu Boost



  • Hi!
    Ich habe einige Probleme die Struktur der Libraries im "libs"-Verzeichnis von Boost zu verstehen.

    Es sind Libraries unter Verzeichnissen wie

    libs\thread\build\gcc-mingw-3.4.5\release\link-static\runtime-link-static\threading-multi
    

    gespeichert.

    Was ist aber jetzt genau der Untschied zwischen z.B. link-static\runtime-link-static\threading-multi und link-static\threading-multi?

    und was hat das "mt" bei manchen der dll's im Namen zu suchen und warum gibt es Versionen ohne?

    Danke schon ma im Vorraus für eure Antworten!





  • Ok, diese Seite kenne ich bereits, doch sie lässt eben noch ein paar Fragen offen. Was ist denn genau Untschied zwischen eine Library mit "Multithreading-Support" und ohne?
    Und welchen Vorteil/Nachteile hat eine Boost-Library die statisch gegen die Runtime-Library gelinkt ist?



  • wenn eine Lib Multithreading-Support anbietet, dann ist sie (theoretisch) in der Lage, auf einem Multikern-Prozessor parallele Threads durchzuführen

    ==> schneller (meistens)

    wird eine Lib statisch gelinkt, dann wird das Programm größer, aber idR benötigt der Anwender die entsprechenden Lib nicht zusätzlich. wird dynamisch verlinkt, dann erst zur Laufzeit. der user muss die benötigte lib selbst installiert haben, das Programm wird aber kleiner.



  • Ok, danke, die Frage mit dem Multithreading wäre dann geklärt.
    Aber mit dem static ist (glaube ich) nicht eine statische Library gemeint sondern.

    s: linking statically to the C++ standard library and compiler runtime support libraries.
    

    Was genau bedeutet das?



  • linking statically -> statisch linken ->

    wird eine Lib statisch gelinkt, dann wird das Programm größer, aber idR benötigt der Anwender die entsprechenden Lib nicht zusätzlich.



  • Aber seit wann werden denn Libraries überhaupt gegen die Runtime und gegen die Standard-C++-Library gelinkt?



  • es gibt z.B eine libboost_date_time-mgw34-1_34_1.a im Ordner link-static und eine libboost_date_time-mgw34-s-1_34_1.a in Unterordner runtime-link-static



  • Booster schrieb:

    Aber seit wann werden denn Libraries überhaupt gegen die Runtime und gegen die Standard-C++-Library gelinkt?

    Wenn diese Libraries Funktionen aus der Runtime benötigen? Das soll ja nicht gerade ungewöhnlich sein...



  • Sind statische Bibliotheken nicht einfach nur zusammengepackte Objektdateien?
    Und wie kommt es dass bei mir die .a-Dateien in runtime-link-static und link-static auf das Byte genau die gleiche Größe haben?
    Is da nur auf manchen Platformen/bei manchen Compilern ein Unterschied?


Anmelden zum Antworten