Go 在 Mac 或 Linux 上构建动态库

Go 可以导出 C ABI,然后在其它兼容 C ABI 的语言中调用。 下面详细讲解一下用法: Go 构建动态库 定义一个 go 文件,包含以下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import "C" //export Add func Add(a, b int) int { return a + b } //export Multiply func Multiply(a, b int) int { return a * b } func main() {} go 的文件名称在当前示例中无关紧要,这里定义为 main.go。 main 函数是必须的,但是可以为空。 注意:代码中的 //export Add 表示导出 Add 函数,export 和 // 之间没有空格。这是 Go 中的一种特殊指令,类似的还有 //go:build 等。 ...

2024-09-11 · 2 分钟