Jump to content

Основной фонд

Основной фонд
Разработчик(и) Apple Инк.
Репозиторий github /яблоко /wift-corelibs-основание
Написано в Swift , Objective-C , C
Операционная система
Тип Системная библиотека
Лицензия АПСЛ 2.0
Веб-сайт developer.apple.com

Core Foundation (также называемый CF ) — это (API) на языке C интерфейс прикладного программирования , написанный Apple Inc. для своих операционных систем и представляющий собой смесь низкоуровневых подпрограмм и функций-оболочек . Большинство подпрограмм Core Foundation следуют определенному соглашению об именах, касающемуся непрозрачных объектов, например CFDictionaryRef для функций, имена которых начинаются с CFDictionary, и эти объекты часто подсчитываются (вручную) посредством CFRetain и CFRelease. Внутри Core Foundation формирует основу типов стандартной библиотеки Objective-C и Carbon API . [1]

Наиболее распространенное использование Core Foundation — это передача собственных примитивных типов данных, включая необработанные байты , Unicode строки , числа , календарные даты и UUID , а также коллекций, таких как массивы , наборы и словари , многочисленным MacOS C. подпрограммам , в первую очередь те, которые связаны с графическим интерфейсом . На уровне операционной системы Core Foundation также обеспечивает стандартизированное управление предпочтениями приложений посредством CFPropertyList, обработка пакетов , циклы выполнения , межпроцессное взаимодействие через CFMachPort и CFNotificationCenterи диалоговое окно сообщения базового графического интерфейса пользователя через CFUserNotification.

Другие части API включают служебные процедуры и оболочки существующих API для простоты использования. Служебные процедуры выполняют такие действия, как файловая система и сетевой ввод -вывод через CFReadStream, CFWriteStream, и CFURL и преобразование порядка байтов (утилиты порядка байтов). Некоторые примеры подпрограмм-оболочек включают в себя подпрограммы-оболочки Core Foundation для сокетов Unix, CFSocket API.

Некоторые типы в Core Foundation являются «бесплатными мостами» или взаимозаменяемы с помощью простого приведения к типам их аналогов из Foundation Kit . Например, можно создать CFDictionaryRef Тип Core Foundation, а затем просто используйте стандартное приведение C, чтобы преобразовать его в аналог Objective-C, NSDictionary *, а затем используйте нужные методы Objective-C для этого объекта, как обычно.

Core Foundation имеет подключаемую модель ( CFPlugin ), основанный на Microsoft объектной модели компонентов . [2]

Доступность открытого исходного кода

[ редактировать ]

Раньше Apple выпускала большую часть CF как проект с открытым исходным кодом под названием CFLite, который можно использовать для написания кроссплатформенных приложений для macOS, Linux и Windows . [3]

Сторонняя реализация с открытым исходным кодом под названием OpenCFLite расширяет Apple CFLite для создания в 32-битных средах Windows и Linux . Его поддерживает один из разработчиков WebKit , но к 2015 году его работу остановили. [4] Платформа караоке KJams поддерживает форк с 2017 года. Эта версия, созданная ее программистом Дэвидом М. Коттером, поддерживает 64-битные системы и имеет реализацию CFNetwork с TLS на основе LibreSSL . [5] Ответвление OpenCFLite было создано Грантом Эриксоном (первоначальным соавтором Брента Фулгэма над версией SourceForge) в 2021 году. [6] с сопутствующим портом CFHost часть CFNetwork, как OpenCFNetwork. [7]

Swift Corelib Foundation, резервная версия Foundation Kit для языка программирования Swift для платформ сторонних производителей, содержит почти полную версию Core Foundation, выпущенную под лицензией Apache License 2.0 . [8]

GNUstep включает версию Core Foundation под названием «libs-corebase». [9]

См. также

[ редактировать ]
  1. ^ смешная_рыба (2006). "Мост" .
  2. ^ «Плагины и COM от Microsoft» . Библиотека разработчиков Mac . Apple Inc. Архивировано из оригинала 1 сентября 2014 года . Проверено 25 марта 2015 г.
  3. ^ «Обозреватель источников» .
  4. ^ Проект OpenCFLite на SourceForge .
  5. ^ «КФЛайт» . КДжамс . Проверено 19 февраля 2020 г.
  6. ^ «Проект OpenCFLite на GitHub» . Проверено 30 ноября 2021 г.
  7. ^ «Проект OpenCFNetwork на GitHub» . Проверено 30 ноября 2021 г.
  8. ^ "swift-corelibs-foundation" . Гитхаб . 14 октября 2021 г.
  9. ^ «gnustep/libs-corebase: Библиотека GNUstep CoreBase — это библиотека неграфических объектов C общего назначения» . Гитхаб . GNUстеп. 19 ноября 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4f08f639e0a3033088361b18758c1989__1707951180
URL1:https://arc.ask3.ru/arc/aa/4f/89/4f08f639e0a3033088361b18758c1989.html
Заголовок, (Title) документа по адресу, URL1:
Core Foundation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)