我正在嘗試在 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 關注
- 290 瀏覽
添加回答
舉報
0/150
提交
取消