登录
首页 >  Golang >  Go问答

管理内存在 Go + SWIG + C++ 代码中的清理

来源:stackoverflow

时间:2024-02-18 09:54:22 186浏览 收藏

今天golang学习网给大家带来了《管理内存在 Go + SWIG + C++ 代码中的清理》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我正在通过 swig 使用 go 中的 c++ 库。 swig 不负责内存管理,因此 go 端看起来像这样:

f := NewFoo()
defer DeleteFoo(f)

当我创建 f 时,调用 deletefoo(f) 很容易,但对于 c++ 函数的返回值很容易忽略它。

我想自动检查我的代码是否正确执行操作。

我看到 address sanitizer 是为 gcc 和 clang 实现的,这听起来是正确的。但我找不到如何为我的 go test 命令启用它的明确方法。


解决方案


我认为 CC="clang -fsanitize=address" go testCC="gcc -fsanitize=address" go test 应该可以工作。

本篇关于《管理内存在 Go + SWIG + C++ 代码中的清理》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>