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.h
的Dart_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> - 在
Array
的AbiSpecificInteger
上的边界检查索引方法。 -
AbiSpecificIntegerPointer on Pointer<
T> - 针对类型参数
AbiSpecificInteger
在Pointer
上的扩展。 - AllocatorAlloc on Allocator
- 在
Allocator
上的扩展,以提供与NativeType
的分配。 -
ArrayAddress on Array<
T> -
ArrayArray on Array<
Array< T> > - 在
Array
的Array
上的边界检查索引方法。 - BoolAddress on bool
-
BoolArray on Array<
Bool> - 在
Array
的Bool
上的边界检查索引方法。 -
BoolPointer on Pointer<
Bool> - 针对类型参数
Bool
在Pointer
上的扩展。 - DoubleAddress on double
-
DoubleArray on Array<
Double> - 在
Array
的Double
上的边界检查索引方法。 -
DoublePointer on Pointer<
Double> - 针对类型参数
Double
在Pointer
上的扩展。 - DynamicLibraryExtension on DynamicLibrary
- 必须不动态调用的方法。
- Float32ListAddress on Float32List
- Float64ListAddress 在 Float64List 上
-
FloatArray 在 Array<
Float> - 在 Float 的 Array 上的边界检查索引方法。
-
FloatPointer 在 Pointer<
Float> - 针对类型参数 Float 专门化的 Pointer 扩展。
-
Int16Array 在 Array<
Int16> - 在 Int16 的 Array 上的边界检查索引方法。
- Int16ListAddress 在 Int16List
-
Int16Pointer 在 Pointer<
Int16> - 针对类型参数 Int16 专门化的 Pointer 扩展。
-
Int32Array 在 Array<
Int32> - 在 Int32 的 Array 上的边界检查索引方法。
- Int32ListAddress 在 Int32List
-
Int32Pointer 在 Pointer<
Int32> - 针对类型参数 Int32 专门化的 Pointer 扩展。
-
Int64Array 在 Array<
Int64> - 在 Int64 的 Array 上的边界检查索引方法。
- Int64ListAddress 在 Int64List
-
Int64Pointer 在 Pointer<
Int64> - 针对类型参数 Int64 专门化的 Pointer 扩展。
-
Int8Array 在 Array<
Int8> - 在 Int8 的 Array 上的边界检查索引方法。
- Int8ListAddress 在 Int8List
-
Int8Pointer 在 Pointer<
Int8> - 针对类型参数 Int8 专门化的 Pointer 扩展。
- IntAddress 在 int
-
NativeFunctionPointer 在 Pointer<
NativeFunction< NF> > - 为类型参数 NativeFunction 特化的 Pointer 扩展。
- NativePort 在 SendPort 上。
- 从 SendPort 获取原生
Dart_Port
的扩展。 -
PointerArray 在 Array<
Pointer< T> > - 在 Pointer 的 Array 上的边界检查索引方法。
-
PointerPointer 在 Pointer<
Pointer< T> > - 为类型参数 Pointer 特化的 Pointer 扩展。
- StructAddress 在 T 上。
-
StructArray 在 Array<
T> - 在 Struct 的 Array 上的边界检查索引方法。
-
StructPointer 在 Pointer<
T> - 为类型参数 Struct 特化的 Pointer 扩展。
-
Uint16Array 在 Array<
Uint16> - 在 Uint16 的 Array 上的边界检查索引方法。
- Uint16ListAddress 在 Uint16List
-
Uint16Pointer 在 Pointer<
Uint16> - 为类型参数 Uint16 特化的 Pointer 扩展。
-
Uint32Array 在 Array<
Uint32> - 在 Uint32 的 Array 上的边界检查索引方法。
- Uint32ListAddress 在 Uint32List
-
Uint32Pointer 在 Pointer<
Uint32> - 为类型参数 Uint32 特化的 Pointer 扩展。
-
Uint64Array 在 Array<
Uint64> - 在 Uint64 的 Array 上的边界检查索引方法。
- Uint64ListAddress 在 Uint64List
-
Uint64Pointer 在 Pointer<
Uint64> - 为类型参数 Uint64 专门化的 Pointer 扩展。
-
Uint8Array 在 Array<
Uint8> - 在 Uint8 的 Array 上实现边界检查的索引方法。
- Uint8ListAddress 在 Uint8List
-
Uint8Pointer 在 Pointer<
Uint8> - 为类型参数 Uint8 专门化的 Pointer 扩展。
- UnionAddress 在 T 上
-
UnionArray 在 Array<
T> - 在 Union 的 Array 上实现边界检查的索引方法。
-
UnionPointer 在 Pointer<
T> - 为类型参数 Union 专门化的 Pointer 扩展。
属性
函数
-
sizeOf<
T extends SizedNativeType> () → int - 本地类型 T 所使用的字节数。
typedef
-
Dart_NativeMessageHandler = Void Function(Int64, Pointer<
Dart_CObject> ) -
NativeFinalizerFunction = NativeFunction<
Void Function(Pointer< Void> token)> - NativeFinalizer 的本地函数类型。