我正在寻找一种明确加载库的干净方法。大多数情况下,我有一个 LIB 和 DLL 对,因此 LIB 将处理所有“加载内容”,我可以直接调用 dll 中的函数。明确执行此操作时,我需要执行以下操作:
HMODULE libA = LoadLibrary("dllA.dll"); // NULL if load failed
HMODULE libB = LoadLibrary("dllB.dll"); // NULL if load failed
void (*functionA)(void) = libA ? GetProcAddress(libA,"functionA"):NULL;
void (*functionB)(void) = libB ? GetProcAddress(libB,"functionB"):NULL;
当我需要调用 DLL 中的函数时,如果在我的代码中发现 LoadLibrary() 和 GetProcAddress() 将会很混乱。我想知道是否有一种干净的方法可以在 1-2 个文件中编写所有处理并调用函数,就好像我通过 LIB 和 DLL 对隐式加载库一样。