gpt4 book ai didi

search - 我们如何保护自己免受其他第三方将与我们的某些名称相同的 DLL 安装到 C 中的影响 :\WINDOWS?

转载 作者:行者123 更新时间:2023-12-04 07:29:45 26 4
gpt4 key购买 nike

我们的产品包括多个 DLL,这些 DLL 从开源构建到具有开源开发人员提供的默认名称的文件中。我们小心地将文件安装在我们自己的目录中,并仔细管理搜索路径(仅适用于我们的进程)以使加载程序满意。

另一位开发人员 - 一位杰出的智力 - 决定将他们自己构建的一些相同的开放源代码安装到 C:\WINDOWS 中,使用相同的默认 DLL 文件名会更容易。因此,当我们启动依赖于这些开源 DLL 的进程时,系统会在我们的目录之前搜索 C:\WINDOWS,并找到其他开发人员安装的 DLL。当然,它们是不相容的。

到目前为止我想到的想法:

  • 重命名我们所有的 DLL 以避免使用默认名称,这只会使
    不太可能我们会遇到碰撞
  • 通过完整路径加载我们所有的 DLL,以便加载器将它们的名称捕获到
    RAM,下次请求时不会搜索其他任何地方

  • 由于各种原因,目前这两种选择都不合适。

    我们还能做些什么来抵御世界上高耸的智慧?

    最佳答案

    您只有两个选择:将 DLL 部署在与 EXE 相同的目录中(这是 Windows 首先查找的位置)或使用 list 并将 DLL 部署到 Windows 并行缓存。我不认为后一个选项在开源世界中很常见,但如果您想在不同的应用程序之间共享 DLL,它是唯一真正的解决方案。

    关于search - 我们如何保护自己免受其他第三方将与我们的某些名称相同的 DLL 安装到 C 中的影响 :\WINDOWS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2428963/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com