Windows中.lib的格式是什么?

时间:2010-09-28 09:35:32

标签: portable-executable

AFAIK,.dll采用 PE 格式,.lib怎么办?

5 个答案:

答案 0 :(得分:5)

有两种扩展名为.lib的文件:

  1. 静态库(用于静态链接)
  2. 导入库(用于动态链接)
  3. 两者都是COFF文件的存档。该档案的格式是'ar archive'。

    unix(cygwin / mingw)命令ar可以像tar命令那样解析这个文件。

    如果要在.lib中查看存档文件,可以执行以下操作:

    ar tv <name>.lib
    

    通常,如果您看到.obj文件,则表示它是一个静态库。 如果你看到.dll那么它就是一个导入库。

答案 1 :(得分:4)

某些编译器(例如Microsoft)使用COFF format,而某些编译器(例如Borland / Codegear)使用OMF format

以下是microsoft's Lib file格式的说明。

答案 2 :(得分:3)

我总是认为它们是COFF格式

有关详细信息,请参阅此处:http://support.microsoft.com/?id=121460 alt text

答案 3 :(得分:0)

在十六进制编辑器(Visual Studio 2010)中检查lib文件,数据似乎与unix上的.a文件相同...一个ar存档。它在开头有两个特殊文件(空名称),它们是某种符号列表。

编辑:发现了一个重复的问题Which format does static library (*.lib) files use? Where can I find "Official" specifications of *.LIB file structure/format? - 它有一个确认这一点的链接。

答案 4 :(得分:0)

如果您对实际查看内容感兴趣:

  • Wayne J. Radburn的PEView可以对其进行解码
  • 和7-zip也可以给出 limited 的视图