The Go equivalent to C's void* type is unsafe.Pointer, and the cgo tool automatically wraps functions that accept or return void* to accept or return unsafe.Pointer instead.
cwrappers.go currently includes some functions that accept *C.void arguments, but none of them are actually called. If they were, you would likely find that the call sites require two conversions (to unsafe.Pointer and then to *C.void) where they should need only one (to unsafe.Pointer).
The Go equivalent to C's
void*
type isunsafe.Pointer
, and the cgo tool automatically wraps functions that accept or returnvoid*
to accept or returnunsafe.Pointer
instead.cwrappers.go
currently includes some functions that accept*C.void
arguments, but none of them are actually called. If they were, you would likely find that the call sites require two conversions (tounsafe.Pointer
and then to*C.void
) where they should need only one (tounsafe.Pointer
).