Spec-Zone.ru › Kotlin 1.4

Библиотеки платформ

Обзор

Для предоставления доступа к службам родной операционной системы пользователя, дистрибутив Kotlin/Native включает набор предварительно собранных библиотек, специфичных для каждой целевой платформы. Мы называем их Библиотеками платформ.

Связывания POSIX

Для всех Unix или Windows-базированных целей (включая Android и iPhone) мы предоставляем библиотеку платформы posix. Она содержит связывания с реализацией платформы стандарта POSIX.

Чтобы использовать библиотеку, просто

import platform.posix.*

Единственной платформой, для которой она недоступна, является WebAssembly.

Обратите внимание, что содержимое platform.posix не идентично на разных платформах, так же как и разные реализации POSIX немного отличаются.

Популярные родные библиотеки

Существует множество других библиотек платформ, доступных для целевых платформ компиляции и кросс-компиляции. Дистрибутив Kotlin/Native предоставляет доступ к OpenGL, zlib и другим популярным родным библиотекам на соответствующих платформах.

На платформах Apple предоставляется библиотека objc для взаимодействия с Objective-C.

Подробности можно найти в dist/klib/platform/$target дистрибутива.

Доступность по умолчанию

Пакеты из библиотек платформ доступны по умолчанию. Не нужно указывать никакие специальные флаги линковки для их использования. Компилятор Kotlin/Native автоматически определяет, к каким библиотекам платформ был доступ и автоматически связывает необходимые библиотеки.

С другой стороны, библиотеки платформ в дистрибутиве представляют собой просто оболочки и связки с родными библиотеками. Это означает, что сами родные библиотеки (.so, .a, .dylib, .dll и т.д.) должны быть установлены на компьютере.

Примеры

Установка Kotlin/Native предоставляет широкий спектр примеров, демонстрирующих использование библиотек платформ. Подробности см. в примерах.

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/reference/native/platform_libs.html

Spec-Zone.ru

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