1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/2master-libraries

Клонировать/Скачать
README.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 06:51 7fd2871

библиотеки русское описание Статус сборки Релиз Лицензия

Это набор базовых библиотек.

  • Все написано на POSIX C и предназначено для использования на x86, arm, android и ios.
  • Каждая библиотека максимально независима, а API просты в использовании.
  • Не зависит от других открытых библиотек.
  • Цель - уменьшение дублирования кода.|имя|описание|имя|описание|имя|описание| |---|--------|---|--------|---|--------| |libatomic|Атомарные операции|libbase64|Кодирование/декодирование Base64/32|libcmd|Основан на readline, подобно bash| |libconfig|Поддержка ini/json|libdebug|Помощь в отслеживании аварийных ситуаций, подобно gdb|libdict|Хэш-ключевое значение словарь| |libfilewatcher|Наблюдение за файлами/папками на событиях|libfile|Операции с файлами|libgevent|Реактор событий, подобно libevent| |libhal|Слой абстракции аппаратного обеспечения|libhash|Хэш-ключевое значение на основе hlist|libipc|Поддержка mqueue/netlink/shm| |liblog|Поддержка консоли/файла/rsyslog|libmacro|Основные макросы|libmp4parser|Парсер формата MP4| |liblock|Обёртка для блокировки/мьютекса/семафора|libthread|Обёртка для потока|libp2p|p2p пробивание дыры и передача| |libplugin|Динамическая загрузка плагина|libptcp|Псевдо TCP сокет через UDP|librbtree|Linux ядерный rbtree| |librpc|Вызов удалённой процедуры|librtsp|Обёртка для rtsp|libskt|Обёртка для сокета| |libstun|Обёртка для протокола STUN|libtime|Обёртка для времени|libqueue|Поддержка хука памяти| |libringbuffer|Циклический буфер C|libworkq|Очередь задач в пользовательском пространстве|libvector|Вектор C| |libuvc|USB видео класс (V4L2)||type|name| |----|----| |структура данных|libdict libhash libringbuffer libqueue librbtree libsort libvector libmacro| |сеть|librtsp libskt libptcp libp2p libstun librpc libipc||асинхронное программирование|libgevent libworkq libthread liblock libatomic |парсеры ввода-вывода|libbase64 libconfig libconfig++ liblog libfile libfilewatcher libstrex libcmd |многомедийные|libuvc libjpeg-ex libmp4parser |разное|libdebug libhal libplugin libtime

Как собрать

Рекомендуется использовать Ubuntu 14.04 с gcc-4.8.4+

  • платформа Linux (32/64 бит)

    • $ cd libraries

    • $ . /build. sh

    • $ sudo . /build. sh install * хост (Linux), целевая платформа (rasberrypi)
      (необходимо скачать toolchain для rasberrypi)
      $ ./build.sh all pi

    • хост (rasberrypi board)
      $ ./build.sh
      $ sudo ./build.sh install

    • кросс-компиляция для Android arm
      (необходимо скачать android-ndk-r9-linux-x86_64.tar.bz2)
      $ ./build.sh all android

    • разработка нативных приложений для Android
      также необходимы инструменты NDK
      $ cd android_jni_libs
      $ ndk-build

    После установки, библиотеки libxxx.xx будут установлены в /usr/local/lib/.
    Файлы libxxx.h, libxxx.so или libxxx.a библиотек будут находиться в ./output/$(ARCH)

Как автоматически сгенерировать C-код

Если вы хотите добавить свою собственную библиотеку в скрипт сборки, нет необходимости повторять тот же код, достаточно автоматически сгенерировать фреймворк libxxx.
$ ./autogen_lib.sh libfoo

О сборке

  • по умолчанию, сборка x86 на Linux, и папка libxxx может быть собрана независимо
  • если только папка "libxxx" была выгружена без папки "build", вы можете собрать только x86 без цветовой настройки
  • с папкой "build", вы можете собрать x86, pi, android, ios и цветовая настройка также будет установлена
  • "sudo make install" требуется при независимой сборке libxxx.

Лицензия

LGPL/GPLv3. Подробную информацию можно найти в LICENSE файле.

Автор и вклад

Добро пожаловать к отправке pull request к библиотекам.| | | |-----------------------------------------------|-----------------------------------------------| | CMShuyuhui | core1011 | | elfring | ktsaou | | zh794390558 | gozfree |

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/2master-libraries.git
git@api.gitlife.ru:oschina-mirror/2master-libraries.git
oschina-mirror
2master-libraries
2master-libraries
master