Spec-Zone.ru › Haskell 8

Foreign.ForeignPtr.Unsafe

Авторские права (c) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка ffi@haskell.org
Стабильность предварительная
Переносимость переносимая
Безопасный Haskell Небезопасный
Язык Haskell2010

Содержание

  • Небезопасные низкоуровневые операции

Описание

Тип и операции ForeignPtr. Этот модуль является частью интерфейса взаимодействия с внешними функциями (FFI) и обычно импортируется через модуль Foreign.

Только небезопасный API.

Небезопасные низкоуровневые операции

unsafeForeignPtrToPtr :: ForeignPtr a -> Ptr a Исходный код

Эта функция извлекает компонент указателя из внешнего указателя. Это потенциально опасная операция, так как если аргумент к unsafeForeignPtrToPtr является последним использованием данного внешнего указателя, то его финализатор(ы) будут выполнены, что потенциально делает полученный обычный указатель недействительным. Поэтому, touchForeignPtr должен использоваться всякий раз, когда нужно гарантировать, что указатель существует — т.е., имеет другое использование.

Чтобы избежать тонких ошибок в коде, написанный вручную код обработки данных предпочтительно должен использовать withForeignPtr вместо комбинаций unsafeForeignPtrToPtr и touchForeignPtr. Однако, последние процедуры иногда предпочтительнее в автоматически сгенерированном коде обработки данных.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Foreign-ForeignPtr-Unsafe.html

Spec-Zone.ru

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