静态库(*.lib)文件使用哪种格式?我在哪里可以找到*.LIB文件结构/格式的"官方"规范?

cla*_*aws 9 gcc mingw static-libraries visual-studio

刚才我发现*nix系统中的静态库,换句话说*.a库只是ar fromat 中可重定位文件(*.o 文件)的档案 .

  1. 那么windows中的静态库(*.lib文件)呢?他们是哪种格式的?

  2. 我找到了一篇文章(存档副本1,存档副本2),它解释了*.lib文件结构.但是我在哪里可以找到*.lib文件结构/格式的"官方"规范?

  3. 除了mingw的ar.exe之外,还有Microsoft的任何工具提取*.lib&*.a文件的可重定位对象吗?

编辑:

我想知道为什么我无法解决这个问题.如果没有官方规格.然后编译器('链接器'更正确)编写器如何使用*.LIB文件?

cla*_*aws 11

我发现*.LIB文件使用ar文件格式.

官方规范:第7节" Microsoft可移植可执行文件和通用目标文件格式规范 "的"归档(库)文件格式" 描述了这种格式.