Библиотека plibsys, кросс-платформенная системная библиотека на C |
Здравствуйте, гость ( Вход | Регистрация )
Библиотека 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 |
|
|
Текстовая версия | Сейчас: 12.12.2024, 0:05 |