Что происходит, когда я загружаю dll во время выполнения (назовем это Lib1.dll), но Lib1.dll также зависит от Lib2.dll, а Lib2.dll там нет?
Если отсутствует зависимость, программа не запустится: возникнет исключение / ошибка при попытке доступа к DLL.
Зависит (извините). Если рассматриваемая DLL статически связана с отсутствующей DLL, то вызов LoadLibrary завершится с ошибкой 126 (ERROR_MOD_NOT_FOUND). Однако если DLL пытается динамически загрузить отсутствующую DLL (например, с помощью LoadLibrary), то исходный вызов LoadLibrary может завершиться успешно. Поведение также может измениться для с задержкой загрузки библиотек.
вы получите ошибку ввода-вывода, когда он попытается использовать что-то из этой библиотеки DLL. он скажет, что не может загрузить его