fromFunction< T extends Function> статический метод
- @DartRepresentationOf('T') Function f,
- [Object? exceptionalReturn]
Преобразует функцию Dart в указатель на функцию C, автоматически выполняя маршалинг аргументов и возвращаемого значения
Если при вызове f() возникает исключение, нативная функция вернёт exceptionalReturn, которое должно быть совместимо с типом возвращаемого значения f.
Возвращённый адрес функции можно вызывать только в потоке-мутаторе (главном потоке) текущего изолята. При вызове из любого другого потока процесс будет аварийно завершён.
Возвращённый указатель остаётся действительным в течение всего времени жизни текущего изолята. После завершения изолята, в котором он был создан, его вызов из нативного кода приведёт к неопределённому поведению.
Динамические вызовы не поддерживаются — то есть вызовы, в которых тип получателя — dynamic.
Реализация
external static Pointer<NativeFunction<T>> fromFunction<T extends Function>(
@DartRepresentationOf('T') Function f,
[Object? exceptionalReturn]);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-ffi/Pointer/fromFunction.html