Executable loads same dll as already loaded dll

2019-07-09 20:32发布

I'm about to start making major modification to my project and I just want to clarify something as I think my design maybe somewhat complicated.

I have an executable that loads a dll, lets call this dll1, this then loads dll2. The executable also loads dll2.

What I'm asking is do I have two instances of dll2's global and static member variables, does the second load of dll2 happen or can an execuable only ever load 1 of dll2 even if dll2 was loaded by a different dll?

I know I should only have one copy of dll2's code in memory this is fine. It is the global and static variables I'm interested in.

2条回答
三岁会撩人
2楼-- · 2019-07-09 20:58

You can only have one instance of any particular DLL loaded per process.

查看更多
我只想做你的唯一
3楼-- · 2019-07-09 20:59

You can of course load different instances of the same DLL, this is practice is not common, but it is technically possible. Have a try with Process Explorer. See the snapshot below.

enter image description here

查看更多
登录 后发表回答