Поделиться через


Построение библиотеки импорта и файла экспорта

Чтобы создать библиотеку импорта и файл экспорта, используйте следующий синтаксис:

LIB /DEF[:deffile] [параметры] [objfiles] [библиотеки]

При указании /DEF lib создает выходные файлы из спецификаций экспорта, передаваемых в команде LIB. Существует три метода указания экспорта, перечисленных в рекомендуемом порядке использования:

  1. Определение __declspec(dllexport) в одном из objfiles или библиотек

  2. Спецификация /EXPORT:name в командной строке LIB

  3. Определение в инструкции EXPORTS в deffile

Это те же методы, которые используются для указания экспорта при связывании программы экспорта. Программа может использовать несколько методов. Вы можете указать части команды LIB (например, несколько objfiles или /EXPORT спецификаций) в файле команд в команде LIB так же, как и в команде LINK.

Следующие параметры применяются к созданию библиотеки импорта и экспорту файла:

/OUT: импорт

Переопределяет имя выходного файла по умолчанию для создаваемой библиотеки импорта . Если параметр /OUT не указан, имя по умолчанию — это базовое имя первого файла объекта или библиотеки в команде LIB и расширение .lib. Файл экспорта получает то же базовое имя, что и библиотека импорта и расширение .exp.

/EXPORT: entryname[= internalname][,@ordinal[, NONAME]][, DATA]

Экспортирует функцию из программы, чтобы разрешить другим программам вызывать функцию. Вы также можете экспортировать данные (с помощью ключевого слова DATA ). Экспорты обычно определяются в библиотеке DLL.

Имя записи — это имя функции или элемента данных, так как оно должно использоваться вызывающей программой. При необходимости можно указать внутреннее имя как функцию, известную в определяющей программе. По умолчанию внутреннее имя совпадает с именем записи. Порядковый номер указывает индекс в таблицу экспорта в диапазоне от 1 до 65 535; если вы не указываете порядковый номер, LIB назначает один. Ключевое слово NONAME экспортирует функцию только в виде порядкового номера без имени записи. Ключевое слово DATA используется для экспорта объектов только для данных.

/INCLUDE: символ

Добавляет указанный символ в таблицу символов. Этот параметр полезен для принудительного использования объекта библиотеки, который в противном случае не будет включен.

Обратите внимание, что при создании библиотеки импорта перед созданием .dll необходимо передать тот же набор файлов объектов при создании .dll, как и при создании библиотеки импорта.

См. также

Работа с библиотеками импорта и файлами экспорта