alias external_func = fn(UnsafePointer[JpegErrorMgr]) -> UInt
@value
struct Stuff:
var pointer : UnsafePointer[UInt8]
var ... # many other fields
fn main():
var thing = ffi.DLHandle("liblambda.so", ffi.RTLD.NOW)
if thing.__bool__():
var bytes = List[UInt8]()
with open("file", "rb") as f:
bytes = f.read_bytes()
var my_struct = Stuff()
my_struct.pointer = bytes.unsafe_ptr()
var result = thing.get_function[external_func]("external_func")(my_struct.unsafe_ptr())
# others call to external_func but no other use of my_struct
...
alias external_func = fn(UnsafePointer[JpegErrorMgr]) -> UInt
@value
struct Stuff:
var pointer : UnsafePointer[UInt8]
var ... # many other fields
fn main():
var thing = ffi.DLHandle("liblambda.so", ffi.RTLD.NOW)
if thing.__bool__():
var bytes = List[UInt8]()
with open("file", "rb") as f:
bytes = f.read_bytes()
var my_struct = Stuff()
my_struct.pointer = bytes.unsafe_ptr()
var result = thing.get_function[external_func]("external_func")(my_struct.unsafe_ptr())
# others call to external_func but no other use of my_struct
...