我正在编写一些导出类似函数的代码:
package main
import "C"
//export returnString
func returnString() string {
//
gostring := "hello world"
return gostring
}
func main() {}
Run Code Online (Sandbox Code Playgroud)
我使用go build -buildmode = c-shared构建.so和头文件,但是当我在我的C代码中调用returnString()时,我得到"恐慌:运行时错误:cgo结果有Go指针"
在1.9中有没有办法解决这个问题?
您需要将go字符串转换为*C.char.C.Cstring是实用功能.
package main
import "C"
//export returnString
func returnString() *C.char {
gostring := "hello world"
return C.CString(gostring)
}
func main() {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1381 次 |
| 最近记录: |