golang - Cgo中使用var声明C结构的变量是否需要释放内存?
本文介绍了golang - Cgo中使用var声明C结构的变量是否需要释放内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
类似如下代码,是否需要释放pkt_header变量
// ... 引入C lib
import "C"
import (
"unsafe"
)
func main() {
var pkt_header C.struct_pcap_pkthdr // 声明C struct的变量
var p_header *C.struct_pcap_pkthdr
// ....
// ....
// 请问是否需要手动释放该变量?求大神解答,谢谢
// defer C.free(unsafe.Pointer(&pkt_header)) ?
// defer C.free(unsafe.Pointer(p_header))
}
解决方案
pkt_header是在go中分配的,所以不需要手动去释放。
这篇关于golang - Cgo中使用var声明C结构的变量是否需要释放内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文