多个进程用LoadLibrary加载同一DLL时,内存会如何占用?
我看的教程上说“当两个应用程序调用了同一动态链接库中的同一函数时,内存里只保留该函数的一份复制件”,这话对吗?如果对,是不是可以这么理解——当多个程序加载了同一个DLL,...
我看的教程上说“当两个应用程序调用了同一动态链接库中的同一函数时,内存里只保留该函数的一份复制件”,这话对吗?
如果对,是不是可以这么理解——当多个程序加载了同一个DLL,该DLL会被第一个加载它的程序放到一个能够被其它也加载了这个DLL的程序所访问的内存空间里、以供各程序通过GetProcAddress来共用?
如果这话不对,那DLL对内存的占用跟静态链接库还有什么差别呢?
LoadLibrary是将整个DLL的代码一次性都加载到内存里呢?还是仅加载该DLL函数地址表之类的? 展开
如果对,是不是可以这么理解——当多个程序加载了同一个DLL,该DLL会被第一个加载它的程序放到一个能够被其它也加载了这个DLL的程序所访问的内存空间里、以供各程序通过GetProcAddress来共用?
如果这话不对,那DLL对内存的占用跟静态链接库还有什么差别呢?
LoadLibrary是将整个DLL的代码一次性都加载到内存里呢?还是仅加载该DLL函数地址表之类的? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询