Size: a a a

2020 August 14

J

Jefferson in Go-go!
Александр Попов
а data это какой тип?
Слайс байт
источник

АП

Александр Попов... in Go-go!
попробуй по одному байту (но хз)
источник

J

Jefferson in Go-go!
Vladimir Smirnov
я конечно не писал именно cgo, но ты хочешь к uchar * а кастуешь к uchar, это разве нормально?
(*C.uchar)(data)
Ошибка примерно та же:
cannot convert data (type []byte) to type *_Ctype_uchar
источник

Y

Yaroslav in Go-go!
in.data = (*C.uchar)(unsafe.Pointer(data))
источник

J

Jefferson in Go-go!
Yaroslav
in.data = (*C.uchar)(unsafe.Pointer(data))
cannot convert data (type []byte) to type unsafe.Pointer
источник

АП

Александр Попов... in Go-go!
in.data = (*C.uchar)(unsafe.Pointer(data[0]))
источник

АП

Александр Попов... in Go-go!
O_o
источник

Y

Yaroslav in Go-go!
Jefferson
cannot convert data (type []byte) to type unsafe.Pointer
а если &data[0] передать?
источник

J

Jefferson in Go-go!
Вот так вроде без ошибок:
(*C.uchar)(&data[0])
Потестим))
источник

АП

Александр Попов... in Go-go!
ну тут мои полномочия все
источник

АП

Александр Попов... in Go-go!
надо подождать авторитетных товарищей
источник

АП

Александр Попов... in Go-go!
но вообще uchar это вроде бы как 1 символ
источник

Y

Yaroslav in Go-go!
да должно работать.
источник

Y

Yaroslav in Go-go!
Александр Попов
но вообще uchar это вроде бы как 1 символ
там указатель
источник

АП

Александр Попов... in Go-go!
да причем тут указатель
источник

АП

Александр Попов... in Go-go!
uchar
Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar предназначен только для положительных значений. Минимальное значение равно нулю, максимальное значение равно 255. Первая буква u в названии типа uchar является сокращением слова unsigned (беззнаковый).
источник

АП

Александр Попов... in Go-go!
туда влезет 1 байт
источник

АП

Александр Попов... in Go-go!
поэтому по 1 байту и хреначим
источник

АП

Александр Попов... in Go-go!
Jefferson
Вот так вроде без ошибок:
(*C.uchar)(&data[0])
Потестим))
а без указателя работает? (*C.uchar)(data[0])
источник

АП

Александр Попов... in Go-go!
а не, там сам по себе указатель
источник