• 3105阅读
  • 2回复

关于DLL文件的加载顺序 [复制链接]

上一主题 下一主题
离线yearl
 

只看楼主 倒序阅读 楼主  发表于: 2014-11-05

QWebkit编写的极小的一个浏览器,访问https网站时特别是登录淘宝时总是莫名其妙、毫无规律地崩溃。
怀疑是openSSL问题下载了多个版本,自己也编译openSSL还是搞不定,
现在系统中有多个版本的ibeay32.dllssleay32.dll,不知道加载的究竟是哪一个了。
先是程序奔溃,现在搞到我要崩溃了。

度娘说DLL文件的加载顺序是这样的:
1、当前进程的可执行模块所在的目录
2、当前目录。
3Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
4Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
5PATH 环境变量中列出的目录。


现在还是搞不清:
比如,当“1当前进程的可执行模块所在的目录。”中的dll文件有问题时,是直接报错还是沿着2345继续找下去直到找到一个适用的?

离线dbzhang800

只看该作者 1楼 发表于: 2014-11-05
对openssl这种显示加载的动态库:

你列的1~5这几条中,第一条应该去掉,三和四之间可以加一条: Windows下的system子目录
离线yearl

只看该作者 2楼 发表于: 2014-11-05
最笨的办法,一个一个地改名。
快速回复
限100 字节
 
上一个 下一个