Динамическое связывание Load-Time

Когда система запускает программу, которая использует динамическое связывание во время загрузки, она использует сведения компоновщика, помещенные в файл, для поиска имен библиотек DLL, используемых процессом. Затем система выполняет поиск библиотек DLL. Дополнительные сведения см. в разделе Dynamic-Link Library Search Order.

Если системе не удается найти необходимую библиотеку DLL, процесс завершается и отображается диалоговое окно, сообщающее об ошибке пользователю. В противном случае система сопоставляет библиотеку DLL с виртуальным адресным пространством процесса и увеличивает число ссылок dll.

Система вызывает функцию точки входа. Функция получает код, указывающий, что процесс загружает библиотеку DLL. Если функция точки входа не возвращает значение TRUE, система завершает процесс и сообщает об ошибке. Дополнительные сведения о функции точки входа см. в разделе Dynamic-Link Library Entry-Point Function.

Наконец, система изменяет таблицу адресов функций, указав начальные адреса для импортированных функций DLL.

Библиотека DLL сопоставляется с виртуальным адресным пространством процесса во время его инициализации и загружается в физическую память только при необходимости.

Использование динамического связывания Load-Time