我有点乱,我看不出我是怎么摆脱它的...... 我得到了什么: *我使用cgo构建的库(dll)。 *使用此库(dll)的c ++应用程序。
我该怎么做: 我尝试释放我在c ++应用程序中的cgo库中分配的内存。
我使用什么工具: 要构建库(dll),我使用cgo,然后使用VS cmd创建存根lib。 我使用visual studio 2017编译应用程序(带/ MD)选项。
我得到了什么: 检测到严重错误c0000374
据我所知,这是我释放在dll libarary中分配的数据的结果。 我会注意到,如果我创建一个测试应用程序并使用gcc编译它,就不会发生这种情况。
不幸的是,我无法避免使用VS,因为我正在使用一些像VS更好的CUDA东西:/
答案 0 :(得分:0)
经过大量搜索,使用go,cgo和Visual Studio时无法创建一个堆。为了解决这个问题,我添加了一个免费功能,可以释放cgo库中的cgo内存。