Вы можете использовать LoadLibary
и GetProcAddr
, чтобы найти адреса функций, а затем вызывать foo-функции по их адресам.
Следующий код демонстрирует, как это сделать (вы должны добавить проверку ошибок в реальных DLL):
**DLL A**
typedef void fooB(void);
typedef void fooBB(void);
fooB* fooB_ptr;
fooBB* fooBB_ptr;
HMODULE hDllB;
void init()
{
hDllB = LoadLibrary(L"DllB.dll");
fooB_ptr = reinterpret_cast<fooB*>(GetProcAddr( hDllB, L"fooB" ));
fooBB_ptr = reinterpret_cast<fooBB*>(GetProcAddr( hDllB, L"fooBB" ));
}
void done()
{
FreeLibrary( hDllB );
}
void fooA()
{
fooBB_ptr();
}
void fooAA()
{
fooB_ptr();
}
То же самое в DLL B
.