crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Библиотека plibsys, кросс-платформенная системная библиотека на C
Iron Bug
  опции профиля:
сообщение 29.8.2017, 6:45
Сообщение #1


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата
Что такое plibsys?

plibsys — это кросс-платформенная системная библиотека, написанная на чистом C. Основной упор был изначально сделан на портируемость и поддержку широкого спектра компиляторов. Для достижения этих целей у библиотеки отсутствуют (небольшим исключением является SCO OpenServer 5 ввиду отсутствия на ней потоков) какие-либо зависимости — используются только те вызовы, которые доступны в целевой ОС. Также никакого ассемблера и использования прочих недокументированных возможностей. Для сборки нужен только рабочий компилятор и CMake.

Изначально библиотека писалась для запуска потоков и работы с сокетами, но постепенно функционал расширялся по мере необходимости. На данный момент есть следующий функционал:

Платформо-независимые типы данных
Потоки и средства синхронизации: мьютексы, условные переменные, блокировки чтения-записи, спинлоки, атомарные операции
Межпроцессное взаимодействие: семафоры, разделяемая память, кольцевой буфер
Сокеты (UDP, TCP) с поддержкой IPv4 и IPv6
Хэш-функции: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
Бинарные деревья: несбалансированное, красно-черное, АВЛ
Загрузка разделяемых библиотек
Работа с памятью: mmap, установка собственного аллокатора
Замер времени исполнения (по возможности — в высоком разрешении)
Базовая работа с файлами и директориями
Парсер файлов INI
Макросы для определения архитектуры ЦПУ, ОС и компилятора
Различные вспомогательные структуры данных типа связанного списка, хэш-таблицы, обработка строк

На все есть документация.

Поддерживаемые платформы и компиляторы

Абсолютно все модули покрыты Unit-тестами. Есть интеграция с CI (Travis, AppVeyor), где прогоняется большое число разнообразных конфигураций. Также для улучшения качества кода и снижения числа ошибок используется сервис статического анализа кода Coverity. Для оценки покрытия тестами используется Codecov.

На данный момент поддерживаются следующие платформы:

GNU/Linux
macOS
Windows, Cygwin, MSYS
FreeBSD, NetBSD, OpenBSD, DragonFlyBSD
Solaris
AIX
HP-UX
Tru64
OpenVMS
OS/2
IRIX
QNX Neutrino, BlackBerry 10
UnixWare 7
SCO OpenServer 5
Haiku
Syllable
BeOS


Подробнее:
https://www.linux.org.ru/news/opensource/13...omment-13643551

Документация: https://saprykin.github.io/plibsys-docs/
Сорцы: https://github.com/saprykin/plibsys
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.12.2024, 0:05