程序猿阵线联盟-汇总各类技术干货开发者联盟

c++传递字符串给c#使用问题

2019-04-19  本文已影响3人  72行代码

C++里,字符串要占用内存的。C++创建字符串,并传给C#,就会造成内存泄露(因为C#不知道C++如何创建,也就不知道如何销毁)。
因此,通常的做法(甚至是C++互相调用的惯例),是

  1. 调用者(这里是C#)准备好一段内存缓冲区(这里是StringBuilder);
  2. 被调用者C++把字符串内容,填充到指定缓冲区去;
  3. 调用者从缓冲区能得到结果,也知道如何清理缓冲(C#自己会用垃圾回收),没有内存泄露问题。

附:我的博客地址

上一篇 下一篇

猜你喜欢

热点阅读