АК
import 'dart:ffi';
import 'package:ffi/ffi.dart';
typedef DartNewDouble = Pointer<Void> Function(Double);
typedef NewDouble = Pointer<Void> Function(double);
typedef DartDoubleValue = Pointer<Void> Function(Pointer<Void>, Pointer<Double>);
typedef DoubleValue = Pointer<Void> Function(Pointer<Void>, Pointer<Double>);
void main(List<String> arguments) {
final proc = DynamicLibrary.process();
final newDouble = proc.lookupFunction<DartNewDouble, NewDouble>('Dart_NewDouble');
final doubleValue = proc.lookupFunction<DartDoubleValue, DoubleValue>('Dart_DoubleValue');
final pDouble = allocate<Double>();
doubleValue(newDouble(1.6), pDouble);
print(pDouble.value);
}