gpt4 book ai didi

c++ - 在同一进程中加载​​多个 dll 拷贝

转载 作者:可可西里 更新时间:2023-11-01 12:43:09 31 4
gpt4 key购买 nike

我有一个由第三方生成的 dll,它具有某种内部数据结构,将其大小限制为 X 个元素。

所以基本上,它有一个以 X 为限制的队列。

据我所知,DLL 是每个进程的,但是是否可以多次加载 DLL?也许每个线程?在 C# 中?还是在 C++/CLI 中?

我正在尝试加载 native C++ dll。

最佳答案

不幸的是,NT核心DLL loader routines不要公开公共(public)接口(interface)以跳过已加载的 DLL 池。因此,您只有几个选择:

  • 复制、硬链接(hard link)、符号链接(symbolic link)和/或使用重解析点来欺骗加载器,让其认为您有多个不同的 DLL。
  • 使用多个进程,每个进程加载一个 DLL。
  • 编写一个新的 DLL 加载程序(非常不适合胆小的人!)
  • 说服 DLL 的供应商修复它(可能比编写 DLL 加载程序更难:)

关于c++ - 在同一进程中加载​​多个 dll 拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587176/

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