Динамическое связывание во время загрузки
Когда исполняемый файл связан с DLL во время сборки, компоновщик не будет вставлять объектный код, а вставит заглушку , которая в основном говорит, что функция этого имени находится в это DLL .
Теперь, когда исполняемый файл запущен, биты исполняемого файла будут отсутствовать (т. Е. Заглушки для функций ), поэтому перед тем, как запустить программу, загрузчик исправляет эти отсутствующие функции, заменяя их входом указывает на файлы DLL.
Только после замены всех заглушек (т. Е. Разрешения) исполняемый файл будет разрешен для запуска.
Это динамическое связывание во время загрузки.
Динамическое связывание во время выполнения
В этом случае исполняемый файл не был связан ни с одним файлом библиотеки DLL, поэтому он не будет содержать никаких заглушек в dll, и поэтому у загрузчика программы нет проблем с запуском исполняемого файла.
Но задача получения доступа к функции из библиотеки DLL оставлена для исполняемого файла и может быть выполнена с помощью GetProcAddress Windows API.
Это динамическое связывание во время выполнения.