在上面的注释中编写一些 C 代码import "C"很简单:
// foo.go
package main
/*
int fortytwo() {
return 42;
}
*/
import "C"
import "fmt"
func main() {
fmt.Printf("forty-two == %d\n", C.fortytwo())
fmt.Printf("forty-three == %d\n", C.fortythree())
}
它工作正常:
$ go install
$ foo
forty-two == 42
但是,它自己的 .c 文件中的 C 代码:
// foo.c
int fortythree() {
return 43;
}
...引用自 Go:
// foo.go
func main() {
fmt.Printf("forty-two == %d\n", C.fortytwo())
fmt.Printf("forty-three == %d\n", C.fortythree())
}
...不起作用:
$ go install
# foo
could not determine kind of name for C.fortythree
繁星coding
相关分类