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