loadlibrary失败的解决方法

问问题描述

loadlibrary失败的解决方法,求解答求解答,重要的事说两遍!

答精选答案

最佳答案

1.文件路径不对

2.dll里有全局变量出事化失败或dllmain函数返回false。

我们这个程序里用的是绝对路径,原因1是不成立的。分析dll的代码,发现原因2也是不成立的。

追踪到这里就没思路解决问题了,后来发现加载dll可以用loadlibrary,loadlibraryex,afxloadlibrary。试了下其他两个函数,loadlibraryex现象一样,afxloadlibrary会抛异常。查了资料,afxloadlibrary是用来加载mfc扩展dll的,不同的一点是在加载dll前会处理线程同步。好像初始化也没有线程同步的问题啊。不理解。

再仔细看代码,发现dllmain所在的类文件里有 #include <afxdllx.h> , 不理解这个头文件有什么作用,屏蔽后编译没影响,将dll放在必现的场景下测试,不再出现加载失败的问题。

本文来自作者[龙行天下20052009悟空问答]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/2426498.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 龙行天下20052009悟空问答

    我是公众科技网的签约作者“龙行天下20052009悟空问答”!

  • 龙行天下20052009悟空问答

    希望本篇文章《loadlibrary失败的解决方法》能对你有所帮助!

  • 龙行天下20052009悟空问答

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 龙行天下20052009悟空问答

    本文概览:1.文件路径不对2.dll里有全局变量出事化失败或dllmain函数返回false。我们这个程序里用的是绝对路径,原因1是不成立的。分析dll的代码,发现原因2也是不成立的。追踪到这里就没思路解决问题了,后来发现加载dll可以用loadlibrary,loadlibraryex,afxloadlibrary。试了下其他两个函数,loadlibraryex现象一样,afxloadlibrary会抛异常。查了资料,afxloadlibrary是用来加载mfc扩展dll的,不同的一点是在加载dll前会处理线程同

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们