C 调用 Go 函数

2020-11-28  本文已影响0人  Lupino

我们之前已经让 Go 调用 C 函数,但有些场景下需要 C 来调用Go函数。

Go 使用 export 关键字导出 C 可调用的函数,如下:

package main

// #cgo CFLAGS: -g -Wall
// #include <stdlib.h>
// extern void c_func();
import "C"

import "fmt"

// export go_export_func
func go_export_fun(v C.int) {
  fmt.Printf("Go func %d\n")
}
func main() {
    C.c_func()
}

调用的 C 代码如下:

extern int go_export_func(int v);

void c_func() {
  go_export_func(10);
}
上一篇 下一篇

猜你喜欢

热点阅读