awesome-c
Кураторский список полезных ресурсов по C. В этом списке есть только бесплатное программное обеспечение для кода и продавцы, которые не являются злом в отношении физических ресурсов.
ИЩЕМ СОПРОВОДИТЕЛЕЙ: Этот список в настоящее время практически неактивен. Я ищу сопровождающих, которые могут сделать его снова отличным. Подробнее см. в #26, но процесс прост: добавьте или исправьте пару вещей в этом списке, и вы станете участником списка с более чем 850 звёздами.
Ранее этот список вёл @kozross. Он решил перенести список на новую платформу, поэтому я решил создать форк, чтобы мы могли сохранить его на GitHub.
Это инструменты для автоматизации сборки и тестирования проектов на C.
aimake (http://nethack4.org/projects/aimake/) — инструмент сборки, разработанный для избежания сложных конфигураций. GNU GPL3 или более поздняя версия
Autoconf (https://www.gnu.org/software/autoconf/autoconf.html) — расширяемый пакет макросов M4, создающих сценарии оболочки для автоматической настройки пакетов исходного кода программного обеспечения. Часть Autotools. GNU GPL3 или более поздняя версия
Automake (https://www.gnu.org/software/automake/automake.html) — инструмент для автоматического создания файлов Makefile.in, соответствующих стандартам кодирования GNU. Требует использования Autoconf. Часть Autotools. GNU GPL3 или более поздняя версия
CMake (https://cmake.org/) — инструменты для кроссплатформенной сборки, тестирования и упаковки. 3-clause BSD
Jam (https://www.perforce.com/documentation/jam-documentation) — система сборки, разработанная для упрощения работы с make. Понимает неявные правила сборки C. Лицензия Jam
.
Libtool — универсальный скрипт поддержки библиотек. Часть Autotools. GNU GPL3 или более поздняя версия
.
Meson — чрезвычайно быстрая, удобная система сборки. Основана на Ninja. Apache 2.0
.
Premake — генератор скриптов сборки для таких наборов инструментов, как Visual Studio, Xcode или GNU Make. 3-clause BSD
.
SCons — более простой, надёжный и быстрый способ сборки программного обеспечения. MIT
.
Ninja — небольшая, простая система сборки с акцентом на скорость. Apache 2.0
.
Bazel — система сборки для различных операционных систем и целей. Apache 2.0
.
Buck — система сборки, созданная и используемая Facebook. Apache 2.0
.
Qbs — современный инструмент сборки для программных проектов. LGPL3
.
qmake — система сборки, включённая в Qt Framework. GNU GPL3 с исключением Qt
.
xmake — кроссплатформенная утилита сборки на основе lua. Apache 2.0
.
NCSA
.GNU GPL2.1 или более поздние версии
.GNU GPL3 или более поздняя версия
.Различные бесплатные лицензии
.GNU LGPL2.1
.Различные лицензии
.GNU GPL3 или более поздняя версия
.Библиотеки для использования в компиляторах, интерпретаторах и низкоуровневых проектах.
2-clause BSD
.libzip — библиотека C для чтения, создания и изменения zip-архивов. 3-clause BSD
.
lzo — очень быстрая библиотека сжатия данных. GNU GPL2.1
.
zlib — массово-шикарная, но деликатно-ненавязчивая библиотека сжатия. 3-clause BSD
.
bzip2 — патентно-бесплатный компрессор данных высокого качества. 3-clause BSD
.
lz4 — алгоритм быстрого сжатия.
snappy — быстрая библиотека сжатия (реализация на C++, собственные привязки к C).
zstd — быстрый алгоритм сжатия в реальном времени [3-clause
]. BSD
Brotli — универсальный алгоритм сжатия без потерь, основанный на LZ77, кодировании Хаффмана и контекстном моделировании второго порядка. Лицензия MIT.
Quicklz — быстрая библиотека сжатия. Лицензия GNU GPL2.1.
Pixz (произносится как «пикси») — параллельная индексирующая версия xz. Лицензия 2-clause BSD.
GnuTLS — библиотека для безопасного обмена данными, реализующая SSL, TLS и DTLS. Лицензия GNU LGPL2.1 или более поздняя.
Libgcrypt — универсальная криптографическая библиотека с набором доступных шифров. Лицензия GNU LGPL2.1 (для кода) и GNU GPL2.1 (для руководства и инструментов).
OpenSSL — реализация протоколов SSL и TLS, а также включает в себя библиотеку криптографии. Двойная лицензия под OpenSSL License и SSLeay License.
libsodium — современная и простая в использовании криптобиблиотека. Лицензия Expat.
libtomcrypt — довольно полный, модульный и переносимый криптографический инструментарий. Общественное достояние.
mbed TLS — ещё одна реализация криптографии для C. Лицензия Apache 2.0.
libressl — модернизированный форк OpenSSL. Различные лицензии.
В этом списке перечислены базы данных и хранилища данных с C API.
BerkeleyDB — библиотека высокопроизводительной встроенной базы данных для данных типа «ключ-значение». Лицензия GNU AGPLv3.
Hiredis — минималистичный клиентский интерфейс для Redis. Лицензия 3-clause BSD.
LMDB — сверхбыстрый и сверхкомпактный встроенный магазин данных типа «ключ-значение». Лицензия OpenLDAP.
MariaDB — надёжный, масштабируемый и надёжный SQL-сервер, предназначенный для замены MySQL. Лицензия 3-clause BSD.
mongo-c-driver — высокопроизводительный клиентский драйвер для MongoDB. Лицензия Apache 2.0.
PostgreSQL — мощная объектно-реляционная система баз данных. Лицензия PostgreSQL.
recutils — набор инструментов и библиотека C для доступа к редактируемым человеком текстовым файлам баз данных, называемым recfiles. Лицензия GNU GPL3 или более поздняя.
Redis — продвинутый магазин данных «ключ-значение». Лицензия 3-clause BSD.
sophia — современная встраиваемая база данных «ключ-значение». FreeBSD.
SQLite — автономный, не требующий сервера, транзакционный механизм базы данных SQL с интерфейсом C. Общественное достояние.
UnQLite — автономный, не требующий сервера, транзакционный движок NoSQL с интерфейсом C. FreeBSD.
(Здесь текст обрывается.) Darknet — открытая нейросетевая среда, написанная на C и CUDA. Она быстрая, простая в установке и поддерживает вычисления на CPU и GPU.
Это специализированные и более продвинутые редакторы типа IDE. Если вам нужен редактор для программирования, посмотрите другие варианты. Кроме того, большинство этих редакторов всё равно поддерживают C.
Эти проекты позволяют работать с микроконтроллерами и другими архитектурами с ограниченными ресурсами.
Операционная система реального времени (RTOS) предназначена для приложений реального времени, которые обрабатывают данные с низкой задержкой.
Этот список содержит технологии, предназначенные для того, чтобы перенести Windows в XXI век. century с точки зрения поддержки C
Различные лицензии
.Различные лицензии
.В этом разделе представлены большие библиотеки, предоставляющие структуры данных и другие функции, которые можно ожидать от «современной» стандартной библиотеки.
Apache 2.0
.ISC
.MIT
.GNU GPL2.1
.GNU LGPL2.1
.GNU LGPL2.1
.GNU LGPL2.1
.GNU GPL2.1
.3-clause BSD
.GNU LGPL2.1 или более поздняя (библиотека)
или GNU GPL2.1 или более поздняя (тестовый код)
.qLib license
(аналогично FreeBSD
).Public Domain
.3-clause BSD
.Эти примеры представляют собой код для разработки игр на C.
FreeBSD
.GNU GPL2.1
.GNU GPL2.1
.zlib
.Примечание: в запросе присутствуют ссылки на внешние ресурсы, которые не были включены в ответ. GPL2.1](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
Quake2 (https://github.com/id-Software/Quake-2) — движок Quake2. GPL2.1 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
Spearmint (https://clover.moe/spearmint/) — движок, разработанный для игр в жанре FPS. GNU GPL3 или более поздняя версия (http://www.gnu.org/licenses/gpl-3.0.html).
Это библиотеки всех видов, которые полезны для программирования игр.
Allegro (https://liballeg.org/) — кроссплатформенная библиотека для разработки видеоигр и мультимедиа. zlib (https://directory.fsf.org/wiki/License:Zlib).
Chipmunk2D (http://chipmunk-physics.net/) — быстрая и лёгкая 2D-библиотека физики для игр. Expat (https://directory.fsf.org/wiki/License:Expat).
CSFML (https://www.sfml-dev.org/download/csfml/) — привязка к SFML на языке C. zlib (https://directory.fsf.org/wiki/License:Zlib).
FreeGLUT (http://freeglut.sourceforge.net/) — альтернатива OpenGL Utility Toolkit. Позволяет создавать и управлять окнами с контекстами OpenGL. X11 (https://directory.fsf.org/wiki/License:X11).
GLFW (https://www.glfw.org/) — мультиплатформенная библиотека для создания окон с контекстами OpenGL. zlib (https://directory.fsf.org/wiki/License:Zlib).
libao (https://xiph.org/ao/) — кроссплатформенная аудиобиблиотека с широким спектром выходов. GNU GPL2.1 или более поздние версии (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
RetroArch (https://www.libretro.com/) — эталонный интерфейс для libretro. GNU GPL3 (http://www.gnu.org/licenses/gpl-3.0.html).
SDL и SDL2 (https://www.libsdl.org/) — кроссплатформенная библиотека разработки, предназначенная для обеспечения низкоуровневого доступа к аудио, клавиатуре, мыши, джойстику и графическому оборудованию через OpenGL. SDL2 — самая актуальная версия. zlib (https://directory.fsf.org/wiki/License:Zlib).
raylib (https://www.raylib.com/) — простая и удобная в использовании библиотека для изучения программирования видеоигр. zlib (https://directory.fsf.org/wiki/License:Zlib).
Cairo (https://www.cairographics.org/) — 2D-графика. GNU LGPL2.1 (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) или MPLv1.1 (https://directory.fsf.org/wiki/License:MPL-1.1).
Cogl (https://github.com/rib/cogl-web/wiki) — API для графики и утилит GPU. Expat (https://directory.fsf.org/wiki/License:Expat).
Clutter (https://blogs.gnome.org/clutter/get-it/) — библиотека пользовательского интерфейса на основе OpenGL. GNU LGPL2.1 (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html).
giflib (https://sourceforge.net/projects/giflib/) — библиотека для чтения и записи изображений в формате GIF. MIT (https://spdx.org/licenses/MIT.html).
heman (https://github.com/prideout/heman) — небольшая библиотека утилит для работы с изображениями, такими как карты высот, карты нормалей, поля расстояний и т. д. Expat (https://directory.fsf.org/wiki/License:Expat).
libcaca (https://github.com/cacalabs/libcaca) — ASCII-рендерер для интерфейсов на базе терминала. WTFPLv2 (http://www.wtfpl.net/txt/copying/).
libimagequant (https://pngquant.org/lib/) — небольшая портативная библиотека для высококачественного преобразования RGBA-изображений в 8-битные индексированные цветные изображения. FreeBSD (https://directory.fsf.org/wiki?title=License:FreeBSD).
libjpeg-turbo (https://libjpeg-turbo.org/) — более быстрая библиотека для чтения и записи файлов JPEG. Различные лицензии (https://libjpeg-turbo.org/About/License).
libpng (http://www.libpng.org) — официальная библиотека PNG. Лицензия libpng (http://www.libpng.org/pub/png/src/libpng-LICENSE.txt).
libxmi (https://www.gnu.org/software/libxmi/) — функциональная библиотека для растеризации 2D векторной графики. GNU GPL3 или более поздняя версия (http://www.gnu.org/licenses/gpl-3.0.html).
mozjpeg (https://github.com/mozilla/mozjpeg) — улучшенный кодировщик JPEG. 3-clause BSD (https://directory.fsf.org/wiki/License:BSD-3-Clause). Графические API
OpenGL — промышленный стандарт для 2D и 3D графики. Дополнительные ресурсы доступны на сайте awesome-opengl.
OpenGL ES — промышленный стандарт для 2D и 3D графики, предназначенный для мобильных и встраиваемых устройств.
OpenGL SC — графический и вычислительный стандарт, разработанный для отраслей, требующих сертификации безопасности системы.
Vulkan — явный графический и вычислительный API для современной кроссплатформенной разработки. Дополнительные ресурсы доступны на сайте awesome-vulkan.
Графический пользовательский интерфейс
Это в первую очередь наборы инструментов для создания виджетов.
Хеширование
Все библиотеки, связанные с хешированием, криптографические или нет.
Обработка изображений
JSON
Обучение, справочные материалы и учебные пособия
Этот список содержит ресурсы для изучения программирования на языке C в целом или что-то полезное, связанное с программированием на C.
Comparison of C/POSIX standard library implementations for GNU/Linux
Руководство по языку C GNU
Заметки Роберта Пайка о программировании на C
Robert Pike's notes on programming in C
Обоснование проекта ANSI C
Обоснование проекта C99
Проект стандарта ANSI C (C89) Draft ANSI C (C89) standard
Проект стандарта C99 Draft C99 standard
Проект стандарта C11 Draft C11 standard
Учебник по указателям Tutorial on pointers
Создание проектов на C Building C Projects
Викиучебник по программированию на C C Programming Wikibook
Введение в «весёлый» C Introduction to 'fun' C
Изучение C с помощью GDB Learning C with GDB
Руководство по POSIX Threads POSIX Threads Programming tutorial (немного устаревшее, но большая часть информации всё ещё актуальна и полезна)
Учебное пособие по программированию GNU C The GNU C Programming Tutorial (онлайн PDF)
Шаблоны в C Templating in C
8 трюков GDB, которые вы должны знать 8 gdb tricks you should know
10 трюков C99 10 C99 tricks
Погружение в параллелизм: попытка использования мьютексов и атомарных операций Diving into concurrency: trying out mutexes and atomics
Знакомство с OpenMP Introduction to OpenMP (видео)
OpenMP tutorial OpenMP tutorial (для стандарта OpenMP3)
memcpy vs memmove memcpy vs memmove
MPI tutorial MPI tutorial
Некоторые неизвестные функции или трюки в языке C Some unknown features or tricks in C language
Утерянное искусство упаковки структур в C The lost art of C structure packing
Что каждый программист на C должен знать о памяти What a C programmer should know about memory
Что должен знать каждый программист C об неопределённом поведении What every C programmer should know about undefined behaviour
Продвинутое метапрограммирование на C Advanced metaprogramming in C
Быстрый учебник по реализации и отладке malloc, free, calloc и realloc Quick tutorial on implementing and debugging malloc, free, calloc, and realloc
Трюки с битами Bit twiddling hacks
Я не знаю C I do not know C
Реализация умных указателей для языка программирования C Implementing smart pointers for the C programming language
Встроенные функции в C Inline functions in C
Метапрограммирование пользовательских управляющих структур в C Metaprogramming custom control structures in C
Некоторые тёмные углы C Some dark corners of C
Написание эффективного кода на C и оптимизация кода C Writing efficient C and C code optimization
Что каждый программист должен знать о памяти What every programmer should know about memory
Сертифицированный курс подготовки к языку программирования C C Programming Language Certified Associate preparation course Безопасность как приоритет
socket99 — оболочка C99 для API сокетов BSD. ISC.
Tox — коммуникационная платформа, предназначенная для замены Skype. GNU GPL3.
twitc — мини-библиотека C для взаимодействия с Twitter OAuth API. Expat.
librg — библиотека для создания простых и элегантных кроссплатформенных решений клиент-серверных MMO-игр. Apache 2.0.
dyad — асинхронная сетевая библиотека. MIT.
h2o — оптимизированный высокопроизводительный сервер/библиотека HTTP/1, HTTP/2. MIT.
Веб-фреймворки
Численные методы
GNU MPRIA — портативная математическая библиотека для рациональной интервальной арифметики с многозначной точностью. Распространяется под лицензией GNU GPL3 или более поздней версией.
GSL — научная библиотека GNU, сложная численная библиотека. Распространяется по лицензии GNU GPL3.
igraph — библиотека для создания и управления большими графами. Распространяется по лицензии GNU GPL2.
KISS FFT — очень простая библиотека быстрого преобразования Фурье. Распространяется в соответствии с условиями лицензии 3-clause BSD.
LAPACKE — интерфейс C к LAPACK. Распространяется согласно условиям лицензии 3-clause BSD.
PARI/GP — система компьютерной алгебры для теории чисел, включает компилятор на C. Распространяется по лицензии GNU GPL2.1 или более поздней.
PETSc — набор структур данных и процедур для масштабируемого параллельного решения научных приложений, моделируемых дифференциальными уравнениями в частных производных. Распространяется по лицензии FreeBSD.
PROB — библиотека, которая обрабатывает различные дискретные и непрерывные функции плотности вероятности. Распространяется по лицензии GNU LGPL3.
Yeppp! — очень быстрая математическая библиотека, оптимизированная для SIMD. Распространяется в соответствии с лицензией 3-clause BSD.
cchan — небольшая библиотека для конструкций каналов для межпотокового взаимодействия. Находится в общественном достоянии.
ck — примитивы параллелизма, безопасные механизмы восстановления памяти и неблокирующие структуры данных. Распространяется по лицензии FreeBSD.
mill — параллелизм в стиле Go на языке C. Распространяется по лицензии X11.
libdill — структурированный параллелизм на языке C. Распространяется по лицензии X11.
MPICH — ещё одна реализация MPI. Распространяется по лицензии MPICH.
OpenMP — набор прагм C, предназначенных для упрощения распараллеливания кода. Распространяется по лицензии 3-clause BSD.
OpenMPI — реализация интерфейса передачи сообщений. Распространяется по лицензии 3-clause BSD.
pth — переносимая реализация для приоритетного планирования без вытеснения для нескольких потоков выполнения. Распространяется по лицензии GNU GPL3 или более поздней.
pthreads — POSIX-библиотека потоков.
SLEPc — программная библиотека для решения больших разреженных задач на собственные значения на параллельных компьютерах. Распространяется по лицензии GNU LGPL3.
TinyCThread — портативное, небольшое внедрение API потоков C11. Распространяется по лицензии zlib.
hammer — комбинаторы парсеров для двоичных форматов. Распространяются по лицензии GNU GPL2.1.
iniparser — парсер для .ini. Файлы
Expat — лицензия Expat.
Регулярные выражения
«Некоторые люди, столкнувшись с проблемой, думают: „Я знаю, я буду использовать регулярные выражения“. Теперь у них две проблемы». — Джейми Завински.
Сериализация
Также проверьте: JSON, XML.
Коллекции исходного кода
Здесь представлены коллекции небольших исходных кодов. Если вам нужно что-то большое и интегрированное, обратитесь к разделу «Фреймворки».
Стандартные библиотеки
Здесь приведены стандартные библиотеки C. Bionic — стандартная библиотека C, разработанная Google для Android. Лицензия 3-clause BSD.
Dietlibc — стандартная библиотека С, предназначенная для создания наименьших возможных двоичных файлов. Лицензия GNU GPL2.1.
Glibc — библиотека GNU C; реализация стандартной библиотеки C. Лицензия GNU LGPL2.1.
Musl — стандартная библиотека C, совместимая с POSIX 2008 и C11. Предназначена для статического связывания. Лицензия Expat.
Bstrlib — Better String Library. Лицензии 3-Clause BSD и GNU GPL2.1.
ICU — International Components for Unicode; библиотека поддержки Unicode. Лицензия ICU.
Libunistring — библиотека для работы со строками Unicode на языке C. Лицензия GNU LGPL3.
Libgiconv — библиотека преобразования текста. Лицензия GNU LGPL2.1 (библиотека) или GNU GPL3 (iconv программа).
SDS — Simple Dynamic Strings; библиотека для обработки строк C более простым способом, но совместимым с обычными строковыми функциями C. Доступна через clib. Лицензия FreeBSD.
Shoco — компрессор для небольших текстовых строк. Лицензия Expat.
Smaz — эффективная библиотека сжатия строк. Лицензия 3-Clause BSD.
Utf8.h — однофайловые функции строк utf8. Лицензия Unlicense.
Utf8proc — небольшая и чистая библиотека для обработки данных Unicode в формате UTF-8. Лицензия.
CHEAT — очень простой фреймворк модульного тестирования. Лицензия FreeBSD.
Check — фреймворк для модульного тестирования C. Лицензия GNU LGPL2.1.
CMock — генератор макетов/заглушек для C. Лицензия Expat.
Cmocka — фреймворк модульного тестирования с поддержкой фиктивных объектов. Лицензия Apache 2.0.
Criterion — KISS, неинтрузивный фреймворк тестирования C. Лицензия Expat.
CUnit — ещё один фреймворк модульного тестирования для C. Лицензия GNU LGPL2.0.
Cutest — библиотека модульного тестирования с обнаружением утечек памяти (Linux, freeBSD и Windows). Лицензия GPL2.
Minunit — минимальный фреймворк модульного тестирования для C. Лицензия Expat.
Munit — небольшой, но полнофункциональный фреймворк модульного тестирования для C без зависимостей. Лицензия MIT.
Unity — простой фреймворк модульного тестирования для C. Лицензия Expat. Инструменты для работы с исходным кодом на C
GNU GPL3 — инструмент для тегирования исходного кода, который работает с C.
Gprof — инструмент анализа производительности. Часть GNU binutils. GNU GPL3 или более поздняя версия.
Highlight — преобразует исходный код в форматированный текст с приятной подсветкой. GNU GPL3.
Include-what-you-use — помогает найти ненужные включения и предлагает способы их исправления. Основан на LLVM/Clang (работает только с ним). NCSA.
Indent — автоматически форматирует исходный код на C, чтобы его было легче читать. Также преобразует один стиль исходного кода в другой. GNU GPLv3 или более поздние версии.
RR — отладчик, который записывает недетерминированные выполнения, чтобы обеспечить детерминированную отладку. FreeBSD.
Tup — очень быстрая кроссплатформенная система сборки на основе файлов. GNU GPL2.1.
Unifdef — удаляет директивы #ifdef и #if вместе с их разграниченным текстом, не затрагивая другие части файла. 3-clause BSD и FreeBSD.
Valgrind — набор инструментов динамического анализа, включая средство проверки утечек. GNU GPL2.1.
Утилиты
Это категория «всё подряд» для всего, что не подходит ни к одной из других категорий.
ApeTagLibs — библиотека C для работы с тегами APEv2. Expat.
BFD — библиотека для управления двоичными объектными файлами. Часть GNU binutils. GNU GPL3 или более поздняя версия.
CF4OCL — фреймворк C для OpenCL; кроссплатформенный объектно-ориентированный фреймворк для разработки и тестирования проектов OpenCL. GNU LGPL3 (библиотека) или GNU GPL3 (код проекта).
CommonMark — реализация спецификации CommonMark на C. Различные лицензии.
CException — реализация исключений на C. Expat.
Docopt.c — реализация парсера параметров командной строки на C. Expat.
DynCall — ещё одна библиотека интерфейса внешних функций. Expat.
FANN — библиотека быстрых искусственных нейронных сетей; реализация нейронных сетей. GNU GPL2.1.
Firm — библиотека на C, которая предоставляет промежуточное представление на основе графов, оптимизацию и генерацию ассемблерного кода, подходящего для использования в компиляторах. Поставляется с примером фронтенда на C под той же лицензией. GNU LGPLv2.1.
Genann — простая библиотека нейронных сетей на C. Zlib.
Gjrand — библиотека процедур генерации случайных чисел. GNU GPL2.1 или GNU GPLv3. FreeIPMI — реализация IPMI внутри и вне диапазона.
GNU gperf — генератор совершенных хеш-функций на основе списка строк. Выводит код на C.
GNU Libffcall — набор библиотек для создания интерфейсов внешних функций.
gperftools — набор утилит для измерения и улучшения производительности.
huffandpuff — минимальный кодировщик и декодировщик Хаффмана.
kdtree — простая библиотека для работы с KD-деревьями.
Kitsune — эффективная универсальная структура для динамического обновления программного обеспечения.
libavl — библиотека, содержащая ряд самобалансирующихся бинарных деревьев.
libbson — служебная библиотека BSON.
libCello — библиотека, представляющая программирование более высокого уровня для C.
libffi — переносимая библиотека интерфейса внешних функций.
libgit2 — чистая реализация Git на языке C.
libimobiledevice — кроссплатформенная протокольная библиотека для взаимодействия с iThings.
libnfc — независимая от платформы библиотека Near-Field Communication.
ncurses — цветная библиотека пользовательского интерфейса терминала.
nope.c — основанная на языке C ультралёгкая программная платформа для масштабируемых серверных и сетевых приложений (подумайте о node.js для программистов на C).
pbc — библиотека протокольных буферов.
rabbitmq-c — клиентская библиотека для RabbitMQ.
Ragel — DSL для конечных автоматов, который компилируется в C.
Tinyexpr — крошечный рекурсивный нисходящий анализатор, компилятор и механизм оценки простых математических выражений.
uthash — реализация хеш-таблицы, позволяющая легко хранить существующие структуры в хеш-таблице. CPU_FEATURES — кроссплатформенная библиотека на C99 для получения характеристик процессора во время выполнения. Лицензия Apache 2.0.
Pblog — небольшая библиотека структурированного логирования с низкими накладными расходами, предназначенная для логирования событий программного обеспечения. Лицензия Apache 2.0.
Libelf — библиотека доступа к объектным файлам ELF на языке C. Лицензия GNU GPL2.1.
MCPP — переносимый препроцессор C. Лицензия 2-clause BSD.
Libusb — общий доступ к USB-устройствам. Лицензия LGPL2.1.
Alsa-lib — пользовательская библиотека для взаимодействия с ALSA. Лицензия LGPL2.1.
Capstone — фреймворк для дизассемблирования и дизассемблера. Лицензия BSD 3-clause.
«XML — это отстой. Действительно. Этому нет оправдания. XML противно разбирать даже людям, а для компьютеров это просто катастрофа. Нет никаких причин для существования этого ужасного отстоя». — Линус Торвальдс.
Expat — потокоориентированный парсер XML. Лицензия Expat.
Libxml2 — совместимый со стандартами, портативный парсер XML. Лицензия Expat.
Mini-xml — маленькая библиотека чтения и записи XML. Не имеет зависимостей, кроме стандартной библиотеки C. Лицензия Apache 2.0 с исключениями.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )