从Borland和Microsoft二进制文件加载相同的DLL

时间:2016-05-24 18:44:38

标签: c++ visual-c++ dll c++builder borland-c++

我有一个与Executable loads same dll as already loaded dll非常相似的案例。不幸的是,那里给出的答案并不是非常有用,而且无论如何我的情况都有所涉及。我有一个Borland C ++ Builder可执行文件,可以加载一个业务逻辑DLL,比如BL.DLL。 EXE和BL.DLL都动态加载第二个DLL,比如COM.DLL。从我收集的内容来看,如果EXE和BL.DLL同时属于LoadLibrary COM.DLL,则第二次加载不会产生任何影响,因为两次加载都会在同一进程中发生。但我想如果使用Borland风格的动态链接发生第一个LoadLibrary,即使在同一个进程中,它也不会意识到同一DLL的Microsoft风格链接。

那么,如果我从Borland EXE加载BL.DLL和COM.DLL,然后从前面提到的BL.DLL加载COM.DLL,我最终会在COM的内存中有两个独立的实例。 DLL?例如,如果我在COM.DLL中有一个类,那么类的静态变量是否同样存在于BL.DLL和EXE中?

0 个答案:

没有答案