kevin.cianfarini
12/22/2022, 6:30 PMstruct Foo foo;
init_foo(&foo);
return foo;
Is this the right way to perform the same task using cinterop?
val foo = Foo(NativePtr.NULL)
init_foo(foo.ptr)
return foo
kevin.cianfarini
12/22/2022, 6:33 PMLandry Norris
12/22/2022, 6:36 PMkevin.cianfarini
12/22/2022, 6:37 PMLandry Norris
12/22/2022, 6:38 PMval foo = arena.alloc<Foo>()
kevin.cianfarini
12/22/2022, 6:38 PMLandry Norris
12/22/2022, 6:38 PMkevin.cianfarini
12/22/2022, 6:39 PMLandry Norris
12/22/2022, 6:42 PMLandry Norris
12/22/2022, 6:45 PMval fooPtr = arena.allocPointerTo<Foo>()
init_foo(fooPtr.ptr)
val foo = fooPtr.pointed
kevin.cianfarini
12/22/2022, 7:20 PMval arena = Arena()
val ring: io_uring = arena.alloc()
io_uring_queue_init(ring = ring.ptr)
return URing(ring, arena)
kevin.cianfarini
12/22/2022, 7:20 PMURing
wrapper is closeable