Chcę zawinąć funkcję C, która pobiera char*
wskazując (pierwszy element) niepustym buforze bajtów. Próbuję zawinąć to w funkcję Go za pomocą CGo, tak aby móc przekazać to []byte
, ale nie wiem jak to zrobić. Uproszczona wersja podpisu funkcji C jestOd [] bajtu na char *
void foo(char const *buf, size_t n);
Próbowałem przechodzącą wskaźnik do pierwszego byte
w wycinku z
C.foo(&b[0], C.size_t(n))
To nie kompiluje, ale:
cannot use &b[0] (type *byte) as type *_Ctype_char in function argument
Jaka jest prawidłowa procedura? go-wiki opisuje tylko sytuację odwrotną.