SourceForge
[ English | Español | Pyccκuú ]
ImpLib SDK v2.0.1
[ Скачать | Руководство ]

Библиотеки импорта используются для линковки исполняемого файла с библиотекой динамической компоновки (DLL) или другим исполняемым файлом, содержащим таблицу экспорта. Обычно библиотека импорта предоставляется разработчиком DLL, чтобы другие разработчики могли использовать данную DLL посредством динамической линковки. К примеру, Microsoft® предоставляет библиотеки импорта для системных DLL Windows (например, kernel32.dll, user32.dll). Обычно библиотеки импорта имеют то же расширение файла и тот же формат, что и статические библиотеки. Например, kernel32.lib может быть библиотекой импорта для kernel32.dll. MS COFF — стандартный формат файла для библиотек импорта, поддерживаемый большинством линкеров в среде Windows.

ImpLib SDKImpLib SDK — это набор утилит для создания персонализированных библиотек импорта для DLL Windows (32 и 64 бит). SDK поддерживает расширенные возможности, как то: переходники cdecl2stdcall, импорт по ординалу, отключение стандартных переходников (original thunk). Существует множество нестандартных ситуаций, вроде использования DLL с соглашением о вызове cdecl в коде на Visual Basic 6, описание функций из DLL для PureBasic, переопределение декорации имён (name mangling) для существующих обьектников и т.д. ImpLib SDK предназначен для решения подобных задач. Знание формата библиотек импорта не обязательно для использования данных утилит.

ImpLib SDK также полезен для преодоления юридических ограничений при распространении библиотек импорта для определенных DLL, таких как среда выполнения Microsoft® C++. Библиотеки импорта для CRT или STL входят в состав Windows SDK. Несмотря на то, что SDK доступен бесплатно, распространение этих библиотек импорта не разрешается в соответствии с действующими лицензионными соглашениями. Альтернативой является создание библиотек импорта с помощью ImpLib SDK. поскольку это не накладывает никаких ограничений на распространение файлов.

Одним из инструментов ImpLib SDK является . Это утилита для извлечения в текстовом виде экспортируемых символов из динамических библиотек DLL.

Более детальное описание и туториалы приводятся в разделе «Руководство по ImpLib SDK».

ImpLib SDK также позволяет создавать библиотеки импорта для Visual Basic 6, даже если DLL использует отличное от stdcall соглашение о вызове, как например cdecl. Один из примеров, входящий в состав ImpLib SDK, показывает как использовать API OpenAL в Visual Basic 6. Динамическая библиотека OpenAL использует соглашение о вызове cdecl.

Репозиторий с открытым исходным кодом и официальные релизы ImpLIb SDK доступны бесплатно на платформах Sourceforge и GitHub.

PureBasic OpenAL SDK тоже доступен на этом сайте. Этот проект разработан с помощью ImpLib SDK.

ImpLib SDK бесплатен даже для коммерческого использования и распространения каким угодно способом, при условии сохранения копирайтов, упомянутых в лицензионном соглашении. Весь пакет предоставляется «как есть», без каких либо гарантий со стороны разработчика.

История версий ImpLib SDK:
 
2025-03-09v2.0.1 поддерживает линкер LLVM (lld-link).
2025-01-20v2.0.0 поддерживает 64-битные библиотеки (x64).
2024-12-13v1.9.1 генерирует более компактные библиотеки. Добавлены дополнительные примеры. Документация обновлена и дополнена.
2021-06-25v1.9 поддерживает длинные имена DLL. Добавлен испанский перевод.
  ...
2006Первый общедоступный выпуск

© 2006 — 2025
Все права защищены