Closed gooohlan closed 2 years ago
2.7.2 C临时访问传入的Go内存
package main /* void printString(const char* s) { printf("%s", s); } */ import "C" func printString(s string) { cs := C.CString(s) defer C.free(unsafe.Pointer(cs)) C.printString(cs) } func main() { s := "hello" printString(s) }
go version go1.16.7 darwin/amd64 上述代码执行报错:could not determine kind of name for C.free 建议修改
go version go1.16.7 darwin/amd64
could not determine kind of name for C.free
package main /* #include <stdlib.h> #include <stdio.h> void printString(const char* s) { printf("%s", s); } */ import "C" import "unsafe" func printString(s string) { cs := C.CString(s) defer C.free(unsafe.Pointer(cs)) C.printString(cs) } func main() { s := "hello" printString(s) }
2.7.2 C临时访问传入的Go内存
go version go1.16.7 darwin/amd64
上述代码执行报错:could not determine kind of name for C.free
建议修改