我正在尝试在 GoLang 中测试构建一个共享的 C 库,并且输出没有创建头文件 (.h)测试去:package mainimport "C"import "fmt"func ExportedFun(s string) { fmt.Printf("C gave us %s string", s)}func main() {}我运行的命令是:go build -buildmode=c-shared -o test.so test.go我得到了.so文件,但没有头文件。有什么我想念的吗?
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
从go 命令文档:
唯一可调用的符号是那些使用 cgo //export 注释导出的函数。
通过 cgo 导出函数的语法可以在cgo 文档中找到
可以通过以下方式导出 Go 函数以供 C 代码使用:
//export MyFunction
func MyFunction(arg1, arg2 int, arg3 string) int64 {...}
//export MyFunction2
func MyFunction2(arg1, arg2 int, arg3 string) (int64, *C.char) {...}
将您的函数标记为导出将生成标题。
- 1 回答
- 0 关注
- 244 浏览
添加回答
举报
0/150
提交
取消