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

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

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

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

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

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

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

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

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

/OUT:import

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

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

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

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

/INCLUDE:symbol

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

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

См. также

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