Sto cercando di interfacciarmi con una DLL di Windows utilizzando Go. La funzione dll che voglio usare accetta un puntatore a un array di byte. Quindi ho bisogno di dargli quella matrice di byte.Golang: array di byte dinamico non sicuro
Sto utilizzando la libreria syscall per chiamare la DLL, come dimostrato here. I miei requisiti di base sono:
- mi viene data la dimensione richiesta per l'array di byte
- creo l'array di byte
- devo ottenere un puntatore alla matrice di byte
- ho poi passare il puntatore la dll di Windows
Non riesco a capire come creare un array di byte in go e ottenere un puntatore. Questa è ovviamente un'operazione non sicura e la libreria unsafe dovrebbe aiutarmi, ma in primo luogo devo essere in grado di creare un array di byte di lunghezza dinamica. Creare una sezione con "make" non mi aiuta, a meno che non riesca a ottenere un puntatore sull'array di supporto della slice.
Qualcun altro ha riscontrato questo o ha qualche idea?
Brillante, funziona come un fascino. 'ptr: = & myslice [0]' – chowey