windows – 谁将堆分配给DLL?
发布时间:2020-12-14 04:02:20 所属栏目:Windows 来源:网络整理
导读:假设我开发了一个DLL,比如1.dll使用MS visual studio 2005/2008,然后我将这个DLL链接到一个控制台应用程序,比如说1.exe,在加载时(使用头文件和.lib文件)然后在DLL里面,如果我在运行时分配内存,那么谁将堆(免费存储)分配给DLL. 据我所知,DLL使用进程的地址空
假设我开发了一个DLL,比如1.dll使用MS visual studio 2005/2008,然后我将这个DLL链接到一个控制台应用程序,比如说1.exe,在加载时(使用头文件和.lib文件)然后在DLL里面,如果我在运行时分配内存,那么谁将堆(免费存储)分配给DLL.
据我所知,DLL使用进程的地址空间来存储数据,代码和堆栈. 解决方法
当你创建一个Dll – 你总是用某种语言编写它 – 在你的情况下使用Visual Studio 2005或2008进行编写.
在这种情况下,C运行时负责创建其freestore并决定如何分配它. 具体来说,如果你使用Dll运行时选项,那么一个单独的dll – msvcrtxx.dll – 管理一个单独的freestore,它在所有dll和exe之间共享,与该dll链接. 如果在使用exe和dll时使用静态运行时选项,那么exe和每个dll都会获得自己的libc实例,并具有自己的freestore管理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-explorer – 如何阻止explorer.exe保持文件打开状态
- 本地 win7 与虚拟机Centos7 ping互通和Centos7 上网设置
- Windows Server 2016-存储新增功能
- server-message-block – 如何检查工作站在Windows上使用的
- 树莓派3B+(三)
- windows-server-2008-r2 – 是否可以在不停机的情况下回收S
- msmq – 有没有办法只查看计算机管理的消息队列部分?
- windows-server-2012 – Windows Server 2012 Branchcache与
- 如何让Windows认为您的应用程序仍然很忙,尽管它没有响应
- 如何从windows 10 pro安装文件获取install.wim