【发布时间】:2019-09-24 13:59:13
【问题描述】:
我目前正在用 C++ 开发一个跨平台的共享库,遇到了跨模块边界的内存管理问题,即在调用它的进程中释放在我的共享库中分配的内存。
我已经列出了可能的解决方案列表 - 使用 C 接口、仅使用纯抽象接口和使用 CoTaskMemAlloc/CoTaskMemFree,后者似乎更容易。
有没有人尝试让标准智能指针与这两种方法一起工作?是否有任何使用这些方法的智能指针实现,以便可以跨 DLL 边界共享智能指针?
【问题讨论】:
标签: c++ memory-management dll cross-platform smart-pointers