我见过很多不同的方法可以做到这一点,就必须使用大量包装器和回调而言,它们似乎都不理想。有没有一种简单的方法可以做到这一点?
例如,我们有这个:
//foo.go
package foo
import "C"
//export SayFive
func SayFive() int {
return 5
}
现在这已被精简到最低限度,此时我想做的就是SayFive
在 C 中调用该函数。
但是,不在此文件的顶部。能够做到这一点非常简单和有用,但我正在寻找这样的方法:
//foo.c
#include <stdio.h>
int main() {
int a = SayFive();
}
我在上面的例子中看到过,#include "_cgo_export.h"
这是完全有道理的,但是当我这样做并尝试编译它时,它失败了。
任何人都可以解释允许我们这样做的整个过程吗?