多次加载同一个dll

Load the same dll multiple times(多次加载同一个dll)
本文介绍了多次加载同一个dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想加载相同的 dll,例如Lib.dll 多次!

I want to load the same dll e.g. Lib.dll multiple times!

-> 需要为每个 LoadLibrary 创建一个新进程(CreateProcess 函数)!

-> need creating a new process (CreateProcess function) for every LoadLibrary!

有人有例子或一些提示吗?!

Anyone have an example or some hints?!

谢谢和问候

推荐答案

听起来您希望 DLL 的每个实例都有单独的数据段.这是我能想到的唯一原因.

It sounds like you want each instance of the DLL to have separate data segments. That's the only reason I can think of for the question.

实现此目的的唯一方法是确保每次调用 LoadLibrary 时,DLL 都具有不同的文件名.每次需要加载 DLL 时,将其复制到一个临时文件中,确保您使用的名称与 DLL 的任何加载实例不同.

The only way to achieve this is to make sure that each time you call LoadLibrary, the DLL has a different filename. Copy the DLL to a temporary file each time you need to load it, making sure that the name you use is different from any loaded instance of the DLL.

我赞同上面鼓励您重新设计系统架构的评论.

I echo the comments above that encourage you to re-design the system architecture.

这篇关于多次加载同一个dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Unable to access non-const member functions of objects in C++ std::set(无法访问 C++ std::set 中对象的非常量成员函数)
Constructing std::function argument from lambda(从 lambda 构造 std::function 参数)
STL BigInt class implementation(STL BigInt 类实现)
Sync is unreliable using std::atomic and std::condition_variable(使用 std::atomic 和 std::condition_variable 同步不可靠)
Move list element to the end in STL(在 STL 中将列表元素移动到末尾)
Why is overloading operatoramp;() prohibited for classes stored in STL containers?(为什么禁止对存储在 STL 容器中的类重载 operatoramp;()?)