释放 cgo 库的内存
Freeing memory of a cgo library
我有点乱,我看不出我是怎么摆脱它的……
我得到了什么:
* 我使用 cgo 构建的库 (dll)。
* 使用此库 (dll) 的 C++ 应用程序。
我该怎么办:
我尝试释放在 c++ 应用程序的 cgo 库中分配的内存。
我使用什么工具:
要构建库 (dll),我使用 cgo,然后使用 VS cmd 创建存根库。
我使用 visual studio 2017 编译应用程序(使用 /MD)选项。
我得到了什么:
检测到严重错误 c0000374
据我所知,这是我释放了在 dll 库中分配的数据的结果。
我会注意到,如果我创建一个测试应用程序并使用 gcc 对其进行编译,则不会发生这种情况。
不幸的是,我无法避免使用 VS,因为我正在使用一些更喜欢 VS 的 CUDA 东西:/
找了好久,go,cgo,Visual Studio都没有办法创建一个heap。为了解决这个问题,我添加了一个释放 cgo 库中的 cgo 内存的函数。
我有点乱,我看不出我是怎么摆脱它的…… 我得到了什么: * 我使用 cgo 构建的库 (dll)。 * 使用此库 (dll) 的 C++ 应用程序。
我该怎么办: 我尝试释放在 c++ 应用程序的 cgo 库中分配的内存。
我使用什么工具: 要构建库 (dll),我使用 cgo,然后使用 VS cmd 创建存根库。 我使用 visual studio 2017 编译应用程序(使用 /MD)选项。
我得到了什么: 检测到严重错误 c0000374
据我所知,这是我释放了在 dll 库中分配的数据的结果。 我会注意到,如果我创建一个测试应用程序并使用 gcc 对其进行编译,则不会发生这种情况。
不幸的是,我无法避免使用 VS,因为我正在使用一些更喜欢 VS 的 CUDA 东西:/
找了好久,go,cgo,Visual Studio都没有办法创建一个heap。为了解决这个问题,我添加了一个释放 cgo 库中的 cgo 内存的函数。