Am 24.07.2019 um 14:32 schrieb henry albrecht:
> Gibt es eine Art Standardformat, so das solch eine Library mit verschiedenen Compilern/Linkern
> verwendbar ist ?
>
> Ich teste hier mit OpenWatcom 1.9, PellesC 9.00.9 und VSE 2013
>
> Der Watcom versteht eine mit VSE erstellte Library. Aber nicht umgekehrt.
>
> Bis auf diesen einen Fall sind die Libraries ansonsten nicht austauschbar.
>
> Ist diese Austauschbarkeit überhaupt möglich ?
Ich behaupte: im allgemeinen Fall ist eine solche Austauschbarkeit für
statische Libraries nicht möglich. Es kommt nicht nur auf das
Library-Dateiformat an, sondern auch auf die durch den entsprechenden
Compiler benutzte Standardbibliothek: sind `isprint`, `FILE`,
`std::cout` identisch definiert?
Wenn man fein um diese Probleme drumherumprogrammiert kann man
vermutlich eine Austauschbarkeit erreichen. Das Standardformat für
Windows ist nunmal das, was Visual Studio erzeugt. Es gibt Konverter für
Objekt-/Librarydateien. Bei MinGW/Cygwin wäre das objcopy. Ob
Watcom/Pelles etwas entsprechendes haben, weiß ich nicht.
Einfacher wird's mit DLLs. Die haben ihre eigene Standardbibliothek
eingebacken, man muss nur aufpassen, an den Schnittstellen keine
Eigenheiten der Standardbibliothek durchscheinen zu lassen.
Stefan