Go将longjmp调用到某个地方的C函数后运行defer函数吗?

时间:2018-09-30 07:08:51

标签: 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,是否运行defer函数? cstr是否被释放?

0 个答案:

没有答案