结论: 如果两个dll(或者exe调用dll)的CRT链接为MD,则可以跨动态库分配和释放;如果一个是MT,另一个是MD则会有问题(比如崩溃)。利用虚函数的动态绑定技术,动态绑定分配释放内存的new和delete等,可以解决上述1的问题,例如shared_ptr的实现。 详情见以下两个文章: 跨dll的内存分配释放问题智能指针shared_ptr为何可以实现跨模块分配和释放内存原理