LoadLibrary加载动态库失败的思考

1、dll调用顺序为 应用程序所在的目录 》 system32目录 》System目录 》Windows目录 》 PATH 路径
2、LoadLibrary(L”DLL相对路径”)意义不大,因为相对路径未必是DLL搜索目录
2、若DLL不在调用方的同一目录下,可以用LoadLibrary(L”DLL绝对路径”)加载。 但若被调DLL内部又调用另外一个DLL,此时调用仍会失败。解决办法是:
① 将依赖库目录添加到PATH路径或者拷贝到1中所列目录中
②用LoadLibraryEx:
LoadLibraryEx(“DLL绝对路径”, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
LOAD_WITH_ALTERED_SEARCH_PATH,让系统DLL搜索顺序从DLL所在目录开始(依赖DLL和被调DLL在同一目录)

你可能感兴趣的:(MFC学习笔记)