Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In GCC you have .a, which is a collection of .o files that can be linked to a binary. I think the Windows equivalent is .lib?


In the case of static linking, yes; they even share a common file format:

  $ file /usr/lib64/libzstd.a vcpkg/installed/x64-windows*/lib/zstd.lib
  /usr/lib64/libzstd.a:                            current ar archive
  vcpkg/installed/x64-windows/lib/zstd.lib:        current ar archive
  vcpkg/installed/x64-windows-static/lib/zstd.lib: current ar archive
But note that one of these things is not like the others:

  $ ar t vcpkg/installed/x64-windows/lib/zstd.lib | wc -l
  189
  $ ar t vcpkg/installed/x64-windows/lib/zstd.lib | uniq
  zstd.dll
This is a Windows import library. It contains no code; linking to it results in an executable dynamically linked to zstd.dll (equivalent to GCC -lzstd without -static on a typical Linux system).

Note that the objdump command[1] from GNU binutils works on Windows .lib, .dll, and .exe files, if you want to know more about what they contain.

[1] https://sourceware.org/binutils/docs-2.42/binutils/objdump.h...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: