Come faccio a convertire questo C (array) tipo:Come convertire [1024] C.char a [1024] byte
char my_buf[BUF_SIZE];
a questa Go (array) digitare:
type buffer [C.BUF_SIZE]byte
? Cercando di fare una conversione di interfaccia mi dà questo errore:
cannot convert (*_Cvar_my_buf) (type [1024]C.char) to type [1024]byte
voglio specificamente un array, non una fetta . Uno dei motivi è che voglio fare una copia. Inoltre, 'C.BUF_SIZE' * è * una costante, quindi posso usarlo in un typedef. Inoltre, perché convertirlo in un puntatore a un enorme array? –
L'enorme array è in modo tale che il compilatore go accetterà qualsiasi dimensione valida, ma non è effettivamente allocata (vedere alcuni altri esempi qui https://github.com/golang/go/wiki/cgo). – JimB
Aah, ora capisco che lo copri, non importa. –