Как преобразовать этот C (массив) Тип:Как конвертировать [1024] C.char в [1024] байт
char my_buf[BUF_SIZE];
к этому Go (массив) Тип:
type buffer [C.BUF_SIZE]byte
? Попытка сделать преобразование интерфейса дает мне эту ошибку:
cannot convert (*_Cvar_my_buf) (type [1024]C.char) to type [1024]byte
Я специально хочу массив, а не кусочек , Одна из причин заключается в том, что я хочу сделать копию. Кроме того, 'C.BUF_SIZE' * является * константой, поэтому я могу использовать ее в typedef. Кроме того, зачем преобразовать его в указатель на огромный массив? –
Огромный массив просто так, что компилятор go примет любой допустимый размер, но он фактически не выделен (см. Некоторые другие примеры здесь https://github.com/golang/go/wiki/cgo). – JimB
А теперь я вижу, что ты его закрываешь, неважно. –