2010-03-03 7 views
8

Gerade jetzt habe ich festgestellt, dass statische Bibliotheken in * nix-Systemen, mit anderen Worten * .a Bibliotheken sind nichts anderes als Archive von Relocationables (*. O-Dateien) in ar fromat.Welches Format verwenden statische Bibliotheksdateien (* .lib)? Wo finde ich "Offizielle" Spezifikationen für * .LIB Dateistruktur/Format?

  1. Was ist mit statischen Bibliotheken (*. Lib-Dateien) in Windows? In welchem ​​Format sind sie?

  2. Ich habe einen Artikel gefunden: http://www.microsoft.com/msj/0498/hood0498.aspx, der * .lib Dateistruktur erklärt. Aber wo finde ich "Offizielle" Spezifikationen der * .lib Dateistruktur/Format?

  3. Anders als ar.exe von mingw gibt es ein Tool von Microsoft, das verlagerbare Objekte von * .lib & * .a Dateien extrahiert?

EDIT:

Ich frage mich, warum ich nicht in der Lage bin, diese Frage zu bekommen. Wenn es keine offiziellen Spezifikationen gibt. Wie funktioniert dann der Compiler ("Linker", um richtiger zu sein) Writer mit *. LIB-Dateien?

Antwort

2

mingw's ar funktioniert gut in * .lib-Dateien - auch solche, die unter VisualStudio erstellt wurden.

Wir haben es tatsächlich in der Vergangenheit benutzt, um Teile einer Bibliothek herauszuziehen, die wir brauchten, als es einige andere Sachen enthielt, mit denen wir keine Verbindung herstellen konnten (aufgrund von Konflikten mit anderen Bibliotheken). Irgendwie hacky, aber es funktioniert.

+1

Das ist ein nützliches Stück Info. Aber bedeutet das, dass * .lib-Dateien auch im 'ar'-Format vorliegen? Möglicherweise abstrahiert mingws ar.exe das zugrunde liegende Format und verhält sich auf die gleiche Weise. – claws

+0

Weiß ich nicht wirklich. Ich antwortete meistens # 3. –

Verwandte Themen