我是 Go 的新手,正在尝试学习如何从 Go 调用 C。我编写了这个程序来打开一个命名的信号量,获取值并将其打印到屏幕上。当我运行它时,go build semvalue.go我收到错误: ./semvalue.go:16:14: unexpected type: ...
这是什么意思?我究竟做错了什么?
package main
import "fmt"
// #cgo LDFLAGS: -pthread
// #include <stdlib.h>
// #include <fcntl.h>
// #include <sys/stat.h>
// #include <semaphore.h>
import "C"
func main() {
name := C.CString("/fram")
defer C.free(name)
fram_sem := C.sem_open(name, C.O_CREAT, C.mode_t(0644), C.uint(1))
var val int
ret := C.sem_getvalue(fram_sem, val)
fmt.Println(val)
C.sem_close(fram_sem)
}
谢谢你。
隔江千里
相关分类