Load-Time динамическое связывание
Когда система запускает программу, использующую динамическую компоновку во время загрузки, она использует информацию, размещенную компоновщиком в файле, для поиска имен библиотек DLL, используемых процессом. Затем система ищет библиотеки DLL. Для получения дополнительной информации см. порядок поиска в библиотеке Dynamic-Link.
Если система не может найти необходимую библиотеку DLL, она завершает процесс и отображает диалоговое окно, которое сообщает об ошибке пользователю. В противном случае система сопоставляет библиотеку DLL в виртуальное адресное пространство процесса и увеличивает число ссылок на библиотеку DLL.
Система вызывает функцию точки входа. Функция получает код, указывающий, что процесс загружает библиотеку DLL. Если функция точки входа не возвращает true, система завершает процесс и сообщает об ошибке. Дополнительные сведения о функции точки входа см. в разделе Dynamic-Link Библиотека Entry-Point Функция.
Наконец, система изменяет таблицу адресов функции с начальными адресами для импортированных функций DLL.
Библиотека DLL сопоставляется с виртуальным адресным пространством процесса во время инициализации и загружается в физическую память только при необходимости.
Связанные разделы