Jump to content

МАЛЕНЬКИЕ библиотеки C++

МАЛЕНЬКИЕ библиотеки C++
Разработчик(и) Гюнтер Обильчниг и др.
Первоначальный выпуск 21 февраля 2005 г .; 19 лет назад ( 21 февраля 2005 г. ) [ 1 ]
Стабильная версия
1.13.3 [ 2 ] / 2024-04-06 [±]
Репозиторий POCO-репозиторий
Написано в С++
Операционная система Кроссплатформенность :
Десктоп-сервер : Windows , Linux , macOS , Solaris , HP-UX , AIX
Встроенные мобильные устройства : Windows Embedded Compact , встроенный Linux , Android , iOS , QNX , VxWorks
Платформа АРМ , ИА-32 , x86-64
Доступно в Английский
Тип библиотека или фреймворк
Лицензия Программное обеспечение Boost 1.0
Веб-сайт Покопроект .org

Библиотеки POrtable COMComponents ( POCO ) C++ — это компьютерное программное обеспечение , набор библиотек классов для разработки компьютерных сетевых , переносимых приложений на языке программирования C++ . Библиотеки охватывают такие функции, как потоки потоков , синхронизация , доступ к файловой системе , потоки , общие библиотеки и загрузка классов, интернет-сокеты и протоколы сетевых коммуникаций ( HTTP , FTP , SMTP и т. д.), а также включают HTTP-сервер и XML-файл. парсер с SAX2 и DOM интерфейсами и доступом к базе данных SQL . Модульная и эффективная конструкция и реализация делают библиотеки хорошо подходящими для разработки встраиваемых систем .

Библиотеки являются бесплатным программным обеспечением с открытым исходным кодом , распространяемым по лицензии Boost Software License 1.0.

POCO — это набор библиотек C++, предоставляющий пользователям поддержку библиотек, аналогичную той, которая имеется в других средах разработки, таких как библиотека классов Java , .NET Framework или Apple Cocoa . POCO ориентирован на сетецентрические области приложений и разработан с использованием современных средств и методов стандарта ANSI/ISO C++ и стандартной библиотеки C++ с упором на мощные функциональные возможности, простоту использования и согласованность. Благодаря качеству кода, единообразию стиля и модульному тестированию POCO обладает высокой переносимостью и уже портирован на множество различных платформ.

Иерархия библиотеки

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

По состоянию на 2017 год , Библиотеки POCO C++ разделены на пять основных библиотек с дополнительными дополнительными библиотеками, доступными в каждом выпуске. Дизайн и иерархия POCO C++ считаются хорошо продуманными. [ 3 ] [ 4 ] Пять основных библиотек компонентов охватывают следующие области, которые можно найти в базовой версии:

Фундамент
  • Абстракция платформы – упрощает портирование фундаментальных типов и т. д.
  • Управление памятью — инициализация сбора ресурсов (RAII), auto_ptr, сборка мусора с подсчетом ссылок и т. д.
  • Строковые утилиты
  • Обработка ошибок – расширенные классы исключений
  • потоки – поддержка кодирования, декодирования и фильтрации.
  • потоки – поддержка параллельной обработки
  • Дата и время — поддержка даты и времени, включая форматирование и таймеры высокой точности.
  • Файловая система – поддержка абстрактной файловой системы.
  • Ведение журнала — ведение журнала приложений и системы, стратегии фильтрации и регистрации.
  • Процессы – межпроцессное взаимодействие и совместное использование памяти.
  • общие библиотеки – поддержка динамических библиотек
  • Уведомления – поддержка абстрактных уведомлений.
  • События – абстрактная поддержка событий и стратегии.
  • Crypt — генерация случайных чисел, дайджесты и механизмы кодирования/декодирования.
  • Текст — поддержка кодировки Unicode.
  • Регулярные выражения – на основе регулярных выражений, совместимых с Perl.
  • URI — поддержка универсального идентификатора ресурса.
  • UUID — поддержка и генераторы универсально уникальных идентификаторов
  • Поддержка кэша – поддержка абстрактной стратегии
Сеть
  • сокеты – абстрактная поддержка сети низкого уровня.
  • Шаблон Reactor — поддержка популярных шаблонов сетевой абстракции.
  • Сообщения MIME – поддержка кодирования
  • HTTP – поддержка HTTP высокого уровня для клиента и серверов.
  • FTP – поддержка FTP высокого уровня.
  • Почта — поддержка POP3, SMTP-потоков.
  • HTML — поддержка форм
XML
JSON
  • API для чтения и записи JSON
Утилита
  • Конфигурационные файлы
  • Параметры командной строки
  • Инструменты и платформа серверных приложений

Одна из целей проектирования многих целевых решений основана на POCO C++, предоставляющем простую в использовании библиотеку компонентов, которая работает « из коробки» . По состоянию на 2017 год , библиотеки доступны в двух форматах пакетов: базовой и полной редакциях. Полное издание охватывает, среди прочего, возможности NetSSL, Crypto, Zip и Data. Базовая версия этого не делает и, таким образом, устраняет зависимость от внешних средств, таких как зависимости OpenSSL, ODBC и MySQL.

Открытый исходный код позволяет и поощряет разработку дальнейших функций библиотеки. Проектирование и развитие существующей и будущей поддержки библиотек обусловлено прагматическими потребностями пользовательской базы. Дополнения библиотеки происходят в среде разработки «песочницы», проверяются и интегрируются в основные выпуски библиотеки, одобренные основной командой разработчиков при участии участников.

История выпусков

[ редактировать ]
  • 2004 — Гюнтер Обильчниг основал POCO с разработки библиотек классов, поскольку был неудовлетворен тем, что было доступно в библиотеках классов C++ для сетецентрического программирования.
  • 21 февраля 2005 г. — первый публичный выпуск на SourceForge под лицензией Sleepycat содержал библиотеки поддержки Foundation и XML.
  • Май 2005 г. – Александр Фабиджанич сделал первый вклад.
  • 19 января 2006 г. — выпущен POCO 1.0, включая библиотеку Net.
  • Июль 2006 г. — POCO было повторно лицензировано по лицензии Boost.
  • Май 2007 г. — выпущен POCO 1.3, включая библиотеку данных.
  • Декабрь 2010 г. — выпущена версия POCO 1.4, включающая множество улучшений.
  • Декабрь 2014 г. — выпущен POCO 1.6, включая библиотеки JSON и MongoDB, а также множество других улучшений.
  • Март 2016 г. — выпущен POCO 1.7 со множеством улучшений.
  • Март 2018 г. — выпущен POCO 1.9, включая поддержку интернационализированных доменных имен и дополнения к поддерживаемым кодировкам текста.

Пользователи

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

Среди пользователей: [ 5 ]

  • Appcelerator Титан
  • Schneider Electric Buildings (ранее TAC )
  • КАСЕ Технологии
  • Богомол
  • Набор инструментов для взаимодействия с медицинскими изображениями
  • OpenFrameworks
  • GLUEскрипт
  • СегуриДанные
  • Айссо Системы
  • Тонидо
  • Гладинец
  • Устройство коммуникационного реализма армии США (CRA)

См. также

[ редактировать ]
  1. ^ 21 февраля 2005: Первый публичный выпуск на SourceForge под лицензией Sleepycat содержал библиотеки поддержки Foundation и XML.
  2. ^ «Релизы — pocoproject/poco» . Проверено 10 июля 2024 г.
  3. ^ «Почему POCO хорошо реализован и спроектирован?» . 24 сентября 2009 г.
  4. ^ Меркл, Бернхард. Остановите эрозию архитектуры программного обеспечения (PDF) . АККУ 2009 . Проверено 12 июля 2024 г.
  5. ^ «Просмотр темы — Список известных пользователей библиотек POCO C++ | Форум библиотек POCO C++» . Архивировано из оригинала 26 августа 2013 г. Проверено 1 февраля 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d47ac74aed3affb448e8d39467954206__1720804320
URL1:https://arc.ask3.ru/arc/aa/d4/06/d47ac74aed3affb448e8d39467954206.html
Заголовок, (Title) документа по адресу, URL1:
POCO C++ Libraries - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)