c/ffi: add _demo

This commit is contained in:
visualfc
2024-10-22 21:30:38 +08:00
parent b7d1ab6105
commit 92c267758e
6 changed files with 250 additions and 0 deletions

View File

@@ -96,3 +96,11 @@ func (c *Closure) Bind(cif *Signature, fn ffi.ClosureFunc, userdata unsafe.Point
}
return Error(status)
}
func add(ptr unsafe.Pointer, offset uintptr) unsafe.Pointer {
return unsafe.Pointer(uintptr(ptr) + offset)
}
func Index(args *unsafe.Pointer, i uintptr) unsafe.Pointer {
return (*(*unsafe.Pointer)(add(unsafe.Pointer(args), i*unsafe.Sizeof(0))))
}