Экспорт из библиотеки DLL
Обновлен: Ноябрь 2007
Структура файла библиотеки DLL очень похожа на структуру EXE-файла с одним важным отличием: файл библиотеки DLL содержит таблицу экспорта. Таблица экспорта содержит имя каждой функции, которую библиотека DLL экспортирует в другие исполняемые файлы. Эти функции являются точками входа в библиотеку DLL. Другим исполняемым файлам доступны только те функции, которые представлены в таблице экспорта. Все остальные функции принадлежат только самой библиотеке DLL. Таблицу экспорта библиотеки DLL можно просмотреть с помощью утилиты DUMPBIN с параметром /EXPORTS.
Существует два метода экспорта функций из библиотеки DLL:
Создать файл определения модуля (DEF-файл) и использовать данный файл при построении библиотеки DLL. Данный метод необходимо использовать в случае, когда требуется экспортировать функции из библиотеки DLL по порядковому номеру, а не по имени.
Использовать ключевое слово __declspec(dllexport) в определении функции.
При использовании для экспорта функции другого метода, убедитесь в том, что используется соглашение о вызове __stdcall.
Выполняемые задачи
Экспорт из библиотеки DLL с использованием ключевого слова __declspec(dllexport)
Экспорт функций C++ для использования в исполняемых модулях, исходный код которых написан на языке C
Экспорт функции из библиотеки DLL по порядковому номеру, а не по имени