猿问

Go build shared-c 不输出头文件

我正在尝试在 GoLang 中测试构建一个共享的 C 库,并且输出没有创建头文件 (.h)


测试去:


package main


import "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文件,但没有头文件。有什么我想念的吗?


Cats萌萌
浏览 245回答 1
1回答

跃然一笑

从go 命令文档:唯一可调用的符号是那些使用 cgo //export 注释导出的函数。通过 cgo 导出函数的语法可以在cgo 文档中找到可以通过以下方式导出 Go 函数以供 C 代码使用://export MyFunctionfunc MyFunction(arg1, arg2 int, arg3 string) int64 {...}//export MyFunction2func MyFunction2(arg1, arg2 int, arg3 string) (int64, *C.char) {...}将您的函数标记为导出将生成标题。
随时随地看视频慕课网APP

相关分类

Go
我要回答