dart:ffi

用于与 C 编程语言进行互操作的 Foreign Function Interface。

有关更多详细信息,请参阅:https://dart.ac.cn/server/c-interop

Abi
一个应用二进制接口 (ABI)。
AbiSpecificInteger
所有 Abi 特定整数类型的超类型。
AbiSpecificIntegerMapping
AbiSpecificInteger 子类型的映射。
Allocator
管理原生堆上的内存。
Array<T extends NativeType>
固定大小的 T 数组。
Bool
表示 C 中的原生 bool。
Char
C 的 char 类型。
Dart_CObject
不暴露其成员的不可见类型。
DartRepresentationOf
DefaultAsset
指定当前库的默认资源 ID 的注解。
Double
表示 C 中的原生 64 位 double。
DynamicLibrary
一个动态加载的原生库。
Finalizable
标记接口,用于不应过早终结的对象。
Float
表示 C 中的原生 32 位 float。
Handle
表示 C 中 dart_api.hDart_Handle
Int
C 的 int 类型。
Int16
表示 C 中的原生有符号 16 位整数。
Int32
表示 C 中的原生有符号 32 位整数。
Int64
表示 C 中的原生有符号 64 位整数。
Int8
表示 C 中的原生有符号 8 位整数。
IntPtr
C 的 intptr_t 类型。
Long
C 的 long int,也称为 long 类型。
LongLong
C 的 long long 类型。
Native<T>
将外部声明绑定到其原生实现的注解。
NativeApi
用于从 Dart 代码或通过 dart_api_dl.h 从 C 代码访问 Dart VM API 的实用工具。
NativeCallable<T extends Function>
一个原生可调用对象,它侦听对原生函数的调用。
NativeFinalizer
可以附加到 Dart 对象的原生终结器。
NativeFunction<T extends Function>
表示 C 中的函数类型。
NativeType
NativeType 的子类型表示 C 中的原生类型。
Opaque
Opaque 的子类型表示 C 中的不可见类型。
Packed
注解,用于在 Struct 子类型上指定,表示其成员需要打包。
Pointer<T extends NativeType>
表示指向原生 C 内存中的指针。不能扩展。
Short
C 的 short 类型。
SignedChar
C 的 signed char 类型。
Size
C 的 size_t 类型。
SizedNativeType
具有已知大小的 NativeType
Struct
所有 FFI 结构类型的超类型。
Uint16
表示C语言中的本地无符号16位整数。
Uint32
表示C语言中的本地无符号32位整数。
Uint64
表示C语言中的本地无符号64位整数。
Uint8
表示C语言中的本地无符号8位整数。
UintPtr
C语言中的uintptr_t类型。
Union
所有FFI联合类型的超类型。
UnsignedChar
C语言中的unsigned char类型。
UnsignedInt
C语言中的unsigned int类型。
UnsignedLong
C语言中的unsigned long int,又称unsigned long类型。
UnsignedLongLong
C语言中的unsigned long long类型。
UnsignedShort
C语言中的unsigned short类型。
VarArgs<T extends Record>
C语言中可变参数的类型。
Void
表示C语言中的void类型。
WChar
C语言中的wchar_t类型。

扩展

AbiSpecificIntegerArray on Array<T>
ArrayAbiSpecificInteger上的边界检查索引方法。
AbiSpecificIntegerPointer on Pointer<T>
针对类型参数AbiSpecificIntegerPointer上的扩展。
AllocatorAlloc on Allocator
Allocator上的扩展,以提供与NativeType的分配。
ArrayAddress on Array<T>
ArrayArray on Array<Array<T>>
ArrayArray上的边界检查索引方法。
BoolAddress on bool
BoolArray on Array<Bool>
ArrayBool上的边界检查索引方法。
BoolPointer on Pointer<Bool>
针对类型参数BoolPointer上的扩展。
DoubleAddress on double
DoubleArray on Array<Double>
ArrayDouble上的边界检查索引方法。
DoublePointer on Pointer<Double>
针对类型参数DoublePointer上的扩展。
DynamicLibraryExtension on DynamicLibrary
必须不动态调用的方法。
Float32ListAddress on Float32List
Float64ListAddressFloat64List
FloatArrayArray<Float>
FloatArray 上的边界检查索引方法。
FloatPointerPointer<Float>
针对类型参数 Float 专门化的 Pointer 扩展。
Int16ArrayArray<Int16>
Int16Array 上的边界检查索引方法。
Int16ListAddressInt16List
Int16PointerPointer<Int16>
针对类型参数 Int16 专门化的 Pointer 扩展。
Int32ArrayArray<Int32>
Int32Array 上的边界检查索引方法。
Int32ListAddressInt32List
Int32PointerPointer<Int32>
针对类型参数 Int32 专门化的 Pointer 扩展。
Int64ArrayArray<Int64>
Int64Array 上的边界检查索引方法。
Int64ListAddressInt64List
Int64PointerPointer<Int64>
针对类型参数 Int64 专门化的 Pointer 扩展。
Int8ArrayArray<Int8>
Int8Array 上的边界检查索引方法。
Int8ListAddressInt8List
Int8PointerPointer<Int8>
针对类型参数 Int8 专门化的 Pointer 扩展。
IntAddressint
NativeFunctionPointerPointer<NativeFunction<NF>>
为类型参数 NativeFunction 特化的 Pointer 扩展。
NativePortSendPort 上。
SendPort 获取原生 Dart_Port 的扩展。
PointerArrayArray<Pointer<T>>
PointerArray 上的边界检查索引方法。
PointerPointerPointer<Pointer<T>>
为类型参数 Pointer 特化的 Pointer 扩展。
StructAddress 在 T 上。
StructArrayArray<T>
StructArray 上的边界检查索引方法。
StructPointerPointer<T>
为类型参数 Struct 特化的 Pointer 扩展。
Uint16ArrayArray<Uint16>
Uint16Array 上的边界检查索引方法。
Uint16ListAddressUint16List
Uint16PointerPointer<Uint16>
为类型参数 Uint16 特化的 Pointer 扩展。
Uint32ArrayArray<Uint32>
Uint32Array 上的边界检查索引方法。
Uint32ListAddressUint32List
Uint32PointerPointer<Uint32>
为类型参数 Uint32 特化的 Pointer 扩展。
Uint64ArrayArray<Uint64>
Uint64Array 上的边界检查索引方法。
Uint64ListAddressUint64List
Uint64PointerPointer<Uint64>
为类型参数 Uint64 专门化的 Pointer 扩展。
Uint8ArrayArray<Uint8>
Uint8Array 上实现边界检查的索引方法。
Uint8ListAddressUint8List
Uint8PointerPointer<Uint8>
为类型参数 Uint8 专门化的 Pointer 扩展。
UnionAddress 在 T 上
UnionArrayArray<T>
UnionArray 上实现边界检查的索引方法。
UnionPointerPointer<T>
为类型参数 Union 专门化的 Pointer 扩展。

属性

nullptr Pointer<Never>
表示指向与 'NULL' 对应的本地 C 内存中的指针,例如地址为 0 的指针。
final

函数

sizeOf<T extends SizedNativeType>() int
本地类型 T 所使用的字节数。

typedef

Dart_NativeMessageHandler = Void Function(Int64, Pointer<Dart_CObject>)
NativeFinalizerFunction = NativeFunction<Void Function(Pointer<Void> token)>
NativeFinalizer 的本地函数类型。