Just now I found that static libraries in *nix systems, in other words *.a libraries
are nothing but archives of relocatables(*.o files) in ar fromat.
-
What about static libraries(*.lib files) in windows? Which format are they in?
-
I found an article (archived copy 1, archived copy 2) which explains *.lib file structure. But Where can I find “Official” specifications of *.lib file structure/format?
-
Other than ar.exe of mingw is there any tool from Microsoft which extracts relocatable objects of *.lib & *.a files?
EDIT:
I wonder why I’m unable to get to this question. If there are no official specifications. Then how does the compiler (‘linker’ to be more correct) writers work with *.LIB files?
I found that *.LIB file uses the
arfile format.Official Specifications: Section 7. “Archive (Library) File Format” of Microsoft Portable Executable and Common Object File Format Specification describes this format.