Сейчас я нашел, что статические библиотеки в *отклоняют системы, другими словами, *.a библиотеки только архивы relocatables (*.o файлы) в формате площади.
Что относительно статических библиотек (*.lib файлы) в окнах? В каком формате они?
Я нашел статью (заархивированная копия 1, заархивированная копия 2), который объясняет *.lib файловую структуру. Но Где я могу найти "Официальные" спецификации *.lib файловой структуры / форматом?
Кроме ar.exe mingw там какой-либо инструмент от Microsoft, которая извлекает перемещаемые объекты *.lib и *.a файлов?
Править:
Интересно, почему я не могу добраться до этого вопроса. Если нет никаких официальных спецификаций. Затем, как делает компилятор ('компоновщик', чтобы быть более корректным), устройства записи работают с *.LIB файлами?
Я обнаружил, что файл *.LIB использует формат ar
файла.
Официальные спецификации: Раздел 7. "Archive (Library) File Format" из Microsoft Portable Executable and Common Object File Format Specification описывает этот формат.
mingw ar
отлично работает с файлами * .lib - даже с теми, которые созданы в VisualStudio.
Мы фактически использовали его в прошлом для извлечения частей библиотеки, в которых мы нуждались, когда она содержала какие-то другие вещи, с которыми мы не могли связываться (из-за конфликтов с другими библиотеками). Вроде хакерский, но работает.