标签: go cgo
我陷入了这个问题。
这样的go函数:
func GoFunction(str string) { cstr := C.CString(str) defer C.free(unsafe.Pointer(cstr)) C.CFunction(cstr) }
然后C.CFunction()使用longjmp跳到某个地方。
C.CFunction()
longjmp
我的问题是,如果C.CFunction() longjmp,是否运行defer函数? cstr是否被释放?
cstr