dart FFI-指向指针的指针

问题描述

在使用ffi库的dart中,我们可以通过两种方式创建Pointer对象

Pointer<NativeType> foo = allocate();
Pointer<NativeType> bar = Pointer.fromAddress(int address);

我们还可以使用int address = foo.address();

获取Pointer对象的地址

如果我们想通过另一个final bar = Pointer.fromAddress(foo.address);

的Pointer对象创建一个Pointer,

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...