释放cgo库的内存

时间:2018-05-24 15:13:13

标签: c++ go malloc free cgo

我有点乱,我看不出我是怎么摆脱它的...... 我得到了什么: *我使用cgo构建的库(dll)。 *使用此库(dll)的c ++应用程序。

我该怎么做: 我尝试释放我在c ++应用程序中的cgo库中分配的内存。

我使用什么工具: 要构建库(dll),我使用cgo,然后使用VS cmd创建存根lib。 我使用visual studio 2017编译应用程序(带/ MD)选项。

我得到了什么: 检测到严重错误c0000374

据我所知,这是我释放在dll libarary中分配的数据的结果。 我会注意到,如果我创建一个测试应用程序并使用gcc编译它,就不会发生这种情况。

不幸的是,我无法避免使用VS,因为我正在使用一些像VS更好的CUDA东西:/

1 个答案:

答案 0 :(得分:0)

经过大量搜索,使用go,cgo和Visual Studio时无法创建一个堆。为了解决这个问题,我添加了一个免费功能,可以释放cgo库中的cgo内存。