zoukankan      html  css  js  c++  java
  • PC-windows系统中exe调用dll搜索路径顺序

    相关资料:
    https://www.zhihu.com/question/51582693

    dll的加载有显示链接(程序运行时候LoadLibrary动态加载)和隐式链接(编译时候就需要)。

    Windows 用来定位 DLL 的搜索路径

    如果我没有记错,Qt默认是采用的显示链接openssl库,所以应该编译是没有问题的,只是运行的时候提示找不到。
    Windows系统上需要自己安装OpenSSL,不是自带的。但是很多软件可能在安装的时候就顺带安装了OpenSSL,所以就不需要再安装了。(此处的是有条件的,后面再说)

    因为Qt不可能知道每台电脑上的OpenSSL库的安装路径,所以LoadLibrary的时候也不可能指定绝对路径。所以这里去加载ssl库的时候,顺序大致是这样的:
    1、先从已经加载到内存的dll中找同名的dll,找到了就加载。
    2、从系统已知dll列表查找。这个列表记录在注册表里面。
    3、应用程序所在目录。
    4、当前工作目录。
    5、系统目录(%System%)
    6、Windows目录(%Windir%)
    7、环境变量PATH中指定的目录(%PATH%)
    更具体的可以看这里 Dynamic-Link Library Search Order

    关于你的问题中 :: 这个路径的,我也不知道。
    然后关于是哪一个软件带了openssl的,我也不确定。
  • 相关阅读:
    事件DOMContentLoaded与load的区别
    JavaScript的执行环境
    JS中函数运行的执行次序
    正则表达式30分钟入门教程
    mysql数据库备份
    杂篇
    memcached
    mysql问题解决
    php学习
    apache 安装
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/13152723.html
Copyright © 2011-2022 走看看