Size: a a a

2020 August 14

Y

Yaroslav in Go-go!
=)
источник

J

Jefferson in Go-go!
pragus
В cgo нельзя передавать указатели на гошные указатели
Что-то я уже запутался. Есть идеи, как реализовать иначе?
источник

DM

Dmitry M in Go-go!
C.malloc, C.free, C.CString, C.CBytes https://golang.org/cmd/cgo/
источник

p

pragus in Go-go!
Dmitry M
C.malloc, C.free, C.CString, C.CBytes https://golang.org/cmd/cgo/
+
источник

p

pragus in Go-go!
Jefferson
Что-то я уже запутался. Есть идеи, как реализовать иначе?
Аллцируете память на стороне C, заполняете из go, передаёте в cgo
источник

J

Jefferson in Go-go!
pragus
Аллцируете память на стороне C, заполняете из go, передаёте в cgo
Да, уже реализовал. Вроде как всё получилось. Только осталось из unsigned char в строку конвертировать
источник

с

сонная википедия... in Go-go!
Jefferson
Да, уже реализовал. Вроде как всё получилось. Только осталось из unsigned char в строку конвертировать
C.GoString
источник

J

Jefferson in Go-go!
Там в аргументах нужен char*, а не unsigned char*.
Пробовал кастануть вот так:
C.GoString((*C.char)(out.data))
Но ловлю ошибку:
cannot convert out.data (type *_Ctype_uchar) to type *_Ctype_char
источник

Y

Yaroslav in Go-go!
А сразу в char* нельзя сконвертировать?
источник

Y

Yaroslav in Go-go!
или нужен для чего-то unsigned?
источник

J

Jefferson in Go-go!
Jefferson
Подскажите, как []byte к C.unsigned char* кастануть?
Пытаюсь сделать так:
in.data = (C.uchar)(data)
Но ловлю ошибку:
cannot convert data (type []byte) to type _Ctype_uchar
Если в структуре вместо uchar* просто  char*, то возвращаемся к этой ошибке
источник

J

Jefferson in Go-go!
in.data = (*C.char)(&data[0])
Ошибка:
cannot convert &data[0] (type *byte) to type *_Ctype_char
источник

J

Jefferson in Go-go!
Вот так в общем победил:
bytes := C.GoBytes(unsafe.Pointer(out.data), C.int(out.len))
Потом просто в строку конвертировал. Всем большое спасибо за помощь, хз, как бы я без вас))
источник

AG

Alexander Gapak in Go-go!
Всем привет. Можно тут разместить сообщение о поиске программиста?
источник

AG

Alexander Gapak in Go-go!
А, всё. Нашёл в описание чата
источник

N

Nikita in Go-go!
type location struct {
   Status string
 }
 curiosity := location{OutBuff}
 bytes, err := json.Marshal(curiosity)
 //exitOnError(err)
 fmt.Println(string(bytes))

получаю json , как его декодировать в url ?
источник

н

немедленно in Go-go!
Nikita
type location struct {
   Status string
 }
 curiosity := location{OutBuff}
 bytes, err := json.Marshal(curiosity)
 //exitOnError(err)
 fmt.Println(string(bytes))

получаю json , как его декодировать в url ?
ничего не понял. где тут урл
источник

N

Nikita in Go-go!
немедленно
ничего не понял. где тут урл
я пост запросом должен отправлять данные этого jsona
источник

N

Nikita in Go-go!
источник

N

Nikita in Go-go!
{"Status":"Connection timed out\n\n\n"} - надо encodидировать
источник