ffi_native_must_be_external
原生函数必须声明为 external。
描述
#当函数被注解为 @Native
但未标记为 external
时,分析器会生成此诊断信息。
示例
#以下代码会生成此诊断信息,因为函数 free
被注解为 @Native
,但未标记为 external
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
void free(Pointer<Void> ptr) {}
常见修复方法
#如果该函数是原生函数,则在返回类型之前添加修饰符 external
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
external void free(Pointer<Void> ptr);