package main
import (
"context"
"syscall"
"time"
"unsafe"
)
/*
int goexit(void* func)
{
((int (*)())func)();
return 0;
}
*/
import "C"
func main() {
go func() {
time.Sleep(10e9)
can()
}()
ptr := syscall.NewCallback(wait)
C.goexit(unsafe.Pointer(ptr))
}
var ctx, can = context.WithCancel(context.Background())
func wait() int {
<-ctx.Done()
return 0
}
Go1.10用Go函数控制C函数的生命周期
猜你喜欢
转载自blog.csdn.net/fyxichen/article/details/79628091
今日推荐
周排行