我有一个需要动态加载 DLL 的 MFC 应用程序。 DLL 将用于检索运行时值,然后被卸载。我是否需要创建一个 MFC DLL 并通过 AfxLoadLibrary()
加载它,或者我可以创建一个传统的 C++ dll 并使用 Win32 LoadLibrary()
调用?有关系吗?
最佳答案
MSDN 库文章的备注部分中明确提到了这一点:
因此,如果您正在加载包含 MFC 代码的 DLL,或者如果您在程序中使用线程,那么您应该使用它。
也就是说,至少在现代版本的 MFC 中,AfxLoadLibrary() 没有做任何特别的事情:
HINSTANCE AFXAPI AfxLoadLibrary(LPCTSTR lpszModuleName)
{
ASSERT(lpszModuleName != NULL);
HINSTANCE hInstLib = LoadLibrary(lpszModuleName);
return hInstLib;
}
所以如果你猜错了,没有什么会爆炸的。谢天谢地。
关于c++ - AfxLoadLibrary 与 LoadLibrary,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13960949/