ffi_native_must_be_external
Native functions must be declared external.
Description
#The analyzer produces this diagnostic when a function annotated as being
@Native
isn't marked as external
.
Example
#The following code produces this diagnostic because the function free
is
annotated as being @Native
, but the function isn't marked as external
:
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
void free(Pointer<Void> ptr) {}
Common fixes
#If the function is a native function, then add the modifier external
before the return type:
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
external void free(Pointer<Void> ptr);
除非另有说明,文档之所提及适用于 Dart 3.7.3 版本,本页面最后更新时间: 2025-05-08。 查看文档源码 或者 报告页面问题。