Поделиться через


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

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

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

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

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

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

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