ExperimentalForeignApi
@Target([AnnotationTarget.TYPEALIAS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CLASS]) annotation class ExperimentalForeignApi
Помечает API, связанный с внешней памятью, как экспериментальный.
Внешний API включает все операции и классификаторы, необходимые для работы с необработанной и внешней памятью, включая, но не ограничиваясь, такие объявления, как CPointer, CPointed, StableRef, и Pinned.
Такой API считается экспериментальным и имеет следующие известные ограничения и замечания:
- Он либо недокументирован, либо лишен подробного и обоснованного описания.
- Нет четкой семантики поведения и явного сопоставления между внешними (например, C-указателями) концепциями и соответствующим внешним API (например, CPointer). Такие объявления могут иметь некорректное сопоставление.
- Нет четкого семантического различия между похожими объявлениями.
- Отсутствуют лучшие практики и рекомендации в стиле кулинарной книги.
Совместимость ABI и API предоставляется по возможности. Мы также предлагаем наиболее возможный путь миграции для бинарных/исходных несовместимых изменений, включая правильный цикл устаревания, путь миграции и введение замен для API вместо разрыва API.
Этот API рекомендуется использовать для целей межплатформенного взаимодействия, но с ограниченным и суженным объемом доступности API.
Конструкторы
<init>
Помечает API, связанный с внешней памятью, как экспериментальный.
ExperimentalForeignApi()
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlinx.cinterop/-experimental-foreign-api/index.html