2016-08-18 3 views

Antwort

2

Nach der cgo documentation Sie die C.CString Funktion verwenden müssen, eine Go-String in einen C-String zu konvertieren:

cstr = C.CString(str) 

Beachten Sie, dass C.CString Funktion für Sie den Speicher reserviert, aber es wird nicht freigeben, so dass es Ihre Verantwortung zu befreien den Speicher mit einem Aufruf wie ist:

C.free(unsafe.Pointer(cstr)) 
+0

besser mit 'C.free (unsafe.Pointer (CSTR)) defer' gehen rufen, wenn die Funktion zurückkehrt – Bear0x3f

Verwandte Themen