Связывание исполняемого файла с библиотекой DLL
Обновлен: Ноябрь 2007
Исполняемый файл связывает (или загружает) библиотеку DLL одним из двух способов:
Неявное связывание иногда называют статической загрузкой или динамической компоновкой во время загрузки. Явное связывание иногда называют динамической загрузкой или динамической компоновкой во время выполнения.
При неявном связывании исполняемый файл, использующий ссылки DLL на библиотеку импорта (LIB-файл), предоставляется автором библиотеки DLL. Операционная система загружает библиотеку DLL после загрузки исполняемого файла. Клиентский исполняемый файл вызывает экспортированные функции библиотеки DLL, таким способом, как если бы функции содержались в исполняемом файле.
При явном связывании исполняемый файл, использующий библиотеку DLL, должен делать вызовы функции для явной загрузки и выгрузки библиотеки DLL и осуществления доступа к экспортированным функциям библиотеки DLL. Клиентский исполняемый файл вызывает экспортированные функции с помощью указателя функции.
Независимо от выбранного метода исполняемый файл может использовать одну и туже библиотеку DLL. Более того, эти механизмы не являются взаимоисключающими, поскольку в то время как один исполняемый файл неявно связывается с библиотекой DLL, другой может выполнять явное связывание.