我有一个需要动态加载 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/

10-13 06:03