Подтвердить что ты не робот

Что делает *.exp файл?

Возможный дубликат:
что такое использование .exp и какая разница между .lib и .dll

когда я связываюсь с некоторой библиотекой С++, для каждого *.lib он связан с *.exp файлом. Что делает *.exp?

***.lib / ***.exp
4b9b3361

Ответ 1

Экспорт (.exp) файлов содержит информацию об экспортируемых функциях и элементах данных. Когда LIB создает библиотеку импорта, он также создает .exp файл. Вы используете файл .exp, когда вы связываете программу, которая экспортирует и импортирует из другой программы, прямо или косвенно. Если вы связываетесь с .exp файлом, LINK не создает библиотеку импорта, поскольку предполагает, что LIB уже создал его.

Из MSDN

Вы можете использовать LIB с параметром /DEF для создания библиотеки импорта и файла экспорта. LINK использует файл экспорта для создания программы, содержащей экспорт (обычно это библиотека динамической компоновки (DLL)), и она использует библиотеку импорта для разрешения ссылок на эти экспортируемые в других программах.

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

В большинстве случаев вам не нужно использовать LIB для создания библиотеки импорта. Когда вы связываете программу (исполняемый файл или DLL), которая содержит экспорт, LINK автоматически создает библиотеку импорта, которая описывает экспорт. Позже, когда вы связываете программу, которая ссылается на этот экспорт, вы указываете библиотеку импорта.

Однако, когда DLL экспортирует в программу, из которой он также импортируется, прямо или косвенно, вы должны использовать LIB для создания одной из библиотек импорта. Когда LIB создает библиотеку импорта, он также создает файл экспорта. Вы должны использовать файл экспорта при связывании одной из DLL.

Из MSDN

Ответ 2

Из MSDN:

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