1
Чтобы написать некоторый C код в комментарии выше import "C"
прост:Как использовать внешние .c файлы с CGO?
// 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
Как построить этот код с помощью go build вместо go install? – Tarion