У меня A.DLL, который зависит от B.DLL. A.DLL содержит некоторый код инициализации (DllMain
), который регистрирует вещи с помощью B.DLL.
У меня также есть исполняемый файл E.EXE, который напрямую не ссылается на символы A.DLL, но использует материал A.DLL через универсальные интерфейсы, полученные из B.DLL.
Проблема в том, что A.DLL никогда не загружается в процесс E.EXE, поскольку ни один из его экспортированных символов не является импортом E.EXE.
Могу ли я принудительно загрузить A.DLL в процесс без фактической ссылки на символы A.DLL в E.EXE и без инвертирования зависимости (или создания цикла зависимостей) между A.DLL и B.DLL и без использования явный LoadLibrary()
вызов?
РЕДАКТИРОВАТЬ: проблема была создана в Windows с Visual Studio, но переносимость является проблемой, поэтому LoadLibrary()
не может использоваться.