COM编程时候的一个堆内存分配的有关问题

COM编程时候的一个堆内存分配的问题?
COM编程时候的一个堆内存分配的有关问题

谢谢各位前辈
------解决方案--------------------
楼主问的问题感觉对dll的加载方式不是很了解,如果一个dll被一个进程加载了,那么想当于是把dll使用的内存和所有相关都加载到进程中,所以你在dll中new或在进程中new都是在进程的堆中。
------解决方案--------------------
不管在那个模块分配的,都是在你的进程内。
但是,由于 exe 不知道 dll 是怎么分配出来的,是 new 还是 malloc 之类。
就算是 new ,也有版本问题,所以不能再 exe 释放。必须有 dll 对应释放。
这就是哪里分配,哪里释放的问题。跟在什么内存位置分配没有关系。
------解决方案--------------------
分配的内存在exe进程内,具体是哪个堆则不一定,要看dll里的代码怎么写。dll可以创建私有堆并在私有堆上分配内存(但还是属于exe进程的),也可以在exe的全局堆上分配。