【发布时间】:2014-07-11 18:07:21
【问题描述】:
从非托管代码调用托管代码库时出现此错误:
运行时检查失败 #2 - 变量“BridgeObj”周围的堆栈已损坏。
我创建的代码是:
托管库:
使用系统;
命名空间 My.Name.Space
{
公共课示例
{
公共 int 请求(字符串 xml_input,输出字符串 xml_output)
{
xml_output = "重新调整字符串。";
返回0;
}
}
}
包装 C++/CLI:
示例用法:
【问题讨论】:
-
您缺少“Marshal::FreeHGlobal”(请参阅“Marshal::StringToHGlobalAnsi”的文档)
-
LocalFree ( buffer ) 在非托管免费数据中。只有这个'Bridge BridgeObj;'导致泄漏。