Spec-Zone.ru › Haskell 7

Foreign.ForeignPtr.Unsafe

Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer ffi@haskell.org
Stability provisional
Portability portable
Safe Haskell Unsafe
Language 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/7.10.3/docs/html/libraries/base-4.8.2.0/Foreign-ForeignPtr-Unsafe.html

Spec-Zone.ru

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