【发布时间】:2011-06-08 10:27:54
【问题描述】:
我有一个使用 /MTd 运行时库的本机 c++ exe。我无法更改此选项,因为我对此 exe 的构建没有太多控制权。我需要在这个 exe 中调用一个 CLI C++ dll,它返回一个带有 STL 向量成员变量的类。在 CLI C++ 方法返回时,我得到一个堆损坏错误。根据我的分析,发生这种情况是因为有两个不同的 CRT,并且向量解除分配方法在本机 CRT 中运行,并且由于地址无效而导致炸弹。
如何从使用不同 CRT 编译的 CLI C++ dll 返回向量以与我的本机 exe 一起运行?
【问题讨论】: