加载和使用DLL

时间:2014-10-30 18:00:53

标签: windows variables dll loading

如果我错了,请纠正我,试着直接得到一些新手的怀疑。

据我所知,DLL是系统注册的资源,当进程调用它们时会加载到RAM中。当发生这种情况时,被调用的DLL被引用,并且它将保持加载到RAM中,直到该引用返回到零。因此,如果第二个程序调用相同的DLL(已经在RAM中),则此DLL将引用2,并且只有在两个程序关闭它时才会被卸载。

因此,DLL资源是在两个进程之间共享的吗?所以,假设我有一个名为void setA(int A)的DLL函数和另一个int getA()。让我们说A是用值0初始化的。如果我在打开DLL的第一个进程中将A设置为5,然后从第二个进程调用getA(),它会给我5的值吗?

如果我加载库,将A设置为5并卸载库,该怎么办?然后我再次加载库并调用getA(),它会返回0正确吗? 有没有办法永久地更改DLL中的变量,以便即使在卸载后该值仍然在下一次加载?

0 个答案:

没有答案