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);