golang - Cgo中使用var声明C结构的变量是否需要释放内存?

查看:460
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆