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))
}
阅读 5.3k
1 个回答

pkt_header是在go中分配的,所以不需要手动去释放。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题