ВС
cannot convert data (type []byte) to type unsafe.Pointer
hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data))
in.data = (*C.uchar)(hdr.Data)
Size: a a a
ВС
cannot convert data (type []byte) to type unsafe.Pointer
hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data))
in.data = (*C.uchar)(hdr.Data)
J
hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data))
in.data = (*C.uchar)(hdr.Data)
J
lib, err := dl.Open("./lib.so", 0)
var
MyFunc
func(in *C.MyStruct, out *C.MyStruct, ptr uintptr) int
lib.Sym("MyFunc", &MyFunc)
Вызываю:in := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
in.data = (*C.uchar)(&data[0])
in.len = (C.ulong)(len(data))
out := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
status := MyFunc(in, out, 0)
Ловлю ошибку: cgo argument has Go pointer to Go pointer
Что не так?p
lib, err := dl.Open("./lib.so", 0)
var
MyFunc
func(in *C.MyStruct, out *C.MyStruct, ptr uintptr) int
lib.Sym("MyFunc", &MyFunc)
Вызываю:in := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
in.data = (*C.uchar)(&data[0])
in.len = (C.ulong)(len(data))
out := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
status := MyFunc(in, out, 0)
Ловлю ошибку: cgo argument has Go pointer to Go pointer
Что не так?Y
ВС
ВС
J
hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data))
in.data = (*C.uchar)(hdr.Data)
cannot convert hdr.Data (type uintptr) to type *_Ctype_uchar
p
lib, err := dl.Open("./lib.so", 0)
var
MyFunc
func(in *C.MyStruct, out *C.MyStruct, ptr uintptr) int
lib.Sym("MyFunc", &MyFunc)
Вызываю:in := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
in.data = (*C.uchar)(&data[0])
in.len = (C.ulong)(len(data))
out := (*C.
MyStruct
)(unsafe.Pointer(new(C.
MyStruct
)))
status := MyFunc(in, out, 0)
Ловлю ошибку: cgo argument has Go pointer to Go pointer
Что не так?ВС
cannot convert hdr.Data (type uintptr) to type *_Ctype_uchar