读书人

loadlibrary 内存分配有关问题

发布时间: 2013-09-06 10:17:17 作者: rapoo

loadlibrary 内存分配问题?
请教个问题
DLL1中使用loadlibrary调用DLL2;
DLL1中传入一个结构体(结构体里面有变量char **cppStr和int m)地址到DLL2中;
在DLL2中为传入的结构体分配内存,并为cppStr和m赋值;
loadlibrary完成回到DLL1中后,结构体里面的值正常。

------上面都是正确的-----------
然后FreeLibrary;

问题出现了 为什么FreeLibrary后,从DLL2中传出结构体里面cppStr的值就没了(m的值还有)? 内存分配 loadlibrary
[解决办法]
动态库维护自己的堆栈,在某dll内申请的内存,只能在某dll内释放,该dll销毁,此段内存就不可用了。
[解决办法]
建议dlls使用共享内存段

读书人网 >C语言

热点推荐