问题描述
在使用ffi库的dart中,我们可以通过两种方式创建Pointer对象
Pointer<NativeType> foo = allocate();
Pointer<NativeType> bar = Pointer.fromAddress(int address);
我们还可以使用int address = foo.address();
如果我们想通过另一个final bar = Pointer.fromAddress(foo.address);
bar
的结果类型将是Pointer<Pointer<Double>>
还是bar
只是foo的副本,其中foo.address == bar.address
如果它只是克隆了Pointer,我们如何创建指向另一个Pointer的Pointer?
解决方法
这是一个例子:
Pointer ptrToCopy; // i will assume that you have this already...
Pointer<Pointer<NativeType>> _ptrToPtr = allocate();
_ptrToPtr.value = Pointer.fromAddress(ptrToCopy.adress);