dart FFI - 指向指针的指针
dart FFI - Pointer to a Pointer
在使用 ffi 库的 dart 中,我们可以通过两种方式创建 Pointer 对象
Pointer<NativeType> foo = allocate();
Pointer<NativeType> bar = Pointer.fromAddress(int address);
我们也可以使用int address = foo.address();
获取指针对象地址
如果我们想从另一个 Pointer 对象创建一个 Pointer 做 final bar = Pointer.fromAddress(foo.address);
bar
的结果类型是 Pointer<Pointer<Double>>
还是 bar
只是 foo 的副本,其中 foo.address == bar.address
如果它只是简单地克隆了一个指针,我们如何创建一个指向另一个指针的指针?
这是一个例子:
Pointer ptrToCopy; // i will assume that you have this already...
Pointer<Pointer<NativeType>> _ptrToPtr = allocate();
_ptrToPtr.value = Pointer.fromAddress(ptrToCopy.adress);
在使用 ffi 库的 dart 中,我们可以通过两种方式创建 Pointer 对象
Pointer<NativeType> foo = allocate();
Pointer<NativeType> bar = Pointer.fromAddress(int address);
我们也可以使用int address = foo.address();
如果我们想从另一个 Pointer 对象创建一个 Pointer 做 final bar = Pointer.fromAddress(foo.address);
bar
的结果类型是 Pointer<Pointer<Double>>
还是 bar
只是 foo 的副本,其中 foo.address == bar.address
如果它只是简单地克隆了一个指针,我们如何创建一个指向另一个指针的指针?
这是一个例子:
Pointer ptrToCopy; // i will assume that you have this already...
Pointer<Pointer<NativeType>> _ptrToPtr = allocate();
_ptrToPtr.value = Pointer.fromAddress(ptrToCopy.adress);