Spec-Zone.ru › Dart 2

dart:ffi

Метод fromFunction<T extends Function>

Pointer<NativeFunction<T>> fromFunction<T extends Function>(
  1. @DartRepresentationOf('T') Function f,
  2. [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.18.5/dart-ffi/Pointer/fromFunction.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API