The BSD Zero Clause license goes further than the BSD 2-Clause license to allow you unlimited freedom with the software without requirements to include the copyright notice, license text, or disclaimer in either source or binary forms.
Я думаю, что многие программисты должны помнить, что на GitHub есть серия Awesome: XXX, которая представляет собой подборку ресурсов. Awesome-C — это список ресурсов по языку C, который поддерживается koz.ross. Он включает в себя такие темы, как системы сборки, компиляторы, базы данных, шифрование, учебники и руководства для средней и старшей школы, библиотеки и т. д.
Серия Awesome хотя и обширна, но в основном содержит лишь краткое введение в ресурсы, которые она собирает. Если бы было более подробное описание на китайском языке, это было бы более полезно для соответствующих разработчиков. Это также является причиной запуска нашего открытого исходного проекта.
(Из этого каталога можно увидеть, что объём работы над проектом немалый, поэтому мы очень надеемся, что больше программистов присоединятся к нам.)
Однако перед тем, как присоединиться, есть несколько небольших требований:
Если вы заинтересованы, пожалуйста, добавьте QQ: 50872495. При добавлении QQ укажите «C Language Complete». // Это не группа QQ.
Мы приветствуем всех, кто хочет внести высококачественные новые ресурсы. При отправке PR, пожалуйста, следуйте следующим требованиям:
После получения запроса на PR от списка ресурсов команда будет регулярно (еженедельно) публиковать в Weibo список PR, отправленных за неделю, и выслушивать мнения тех, кто использовал эти ресурсы. После подтверждения они будут добавлены в список ресурсов.
Спасибо за ваш вклад!
Примечание: список не упорядочен по рангу, периодически обновляется.
[Официальный сайт] (https://gcc.gnu.org/)
Далее перечислены базы данных и системы хранения данных на основе C API.
Это особенно изысканные IDE-редакторы. Если вы ищете редактор программиста, посмотрите в другом месте. Кроме того, независимо от того, какой редактор вы выберете, он поддерживает C.
KDevelop: интегрированная среда разработки (IDE) от KDE. GPL2.1. Официальный сайт: https://www.kdevelop.org/.
CLion: кроссплатформенная IDE для разработки на C и C++. Разработана JetBrains. GPL2.1. Официальный сайт: https://www.jetbrains.com/clion/.
Ниже перечислены технологии, разработанные для поддержки языка C в XXI веке на платформе Windows.
Этот раздел включает в себя крупные библиотеки данных структур и «современные» стандартные библиотеки, которые вы ожидаете увидеть.
Эти примеры представляют собой код игровых движков, написанных на языке C.
Это отобранные полезные библиотеки для игрового программирования.
RetroArch: фронт-энд библиотеки libretro. Поддерживается версией GNU GPL3. Официальный сайт: https://github.com/libretro/RetroArch.
SDL: кроссплатформенный набор инструментов, предоставляющий низкоуровневый доступ к аудио, клавиатуре, мыши, джойстику и графическому оборудованию через OpenGL. Поддерживается лицензией zlib. Официальный сайт: https://www.libsdl.org/.
SDL2: обновлённая версия SDL. Кроссплатформенный набор инструментов, предоставляющий низкоуровневый доступ к аудио, клавиатуре, мыши, джойстику и графическому оборудованию через OpenGL. Поддерживается лицензией zlib. Официальный сайт: https://www.libsdl.org/.
klib: небольшой и лёгкий набор реализаций часто используемых алгоритмов и структур данных. Поддерживается лицензией Expat. Официальный сайт: https://github.com/attractivechaos/klib.
Cairo: 2D библиотека изображений. Поддерживается лицензиями GNU LGPL2.1 или MPLv1.1. Официальный сайт: http://cairographics.org/.
Cogl: графический API для GPU. Зависит от лицензии Expat (использование разрешено на условиях лицензии 3-clause BSD), библиотека использует лицензию LGPLv2.1. Официальный сайт: https://github.com/rib/cogl-web/wiki.
Clutter: библиотека пользовательского интерфейса на основе OpenGL. Поддерживается лицензией GNU LGPL2.1. Официальный сайт: https://blogs.gnome.org/clutter/get-it/.
heman: мини-набор инструментов для работы с изображениями, включая обработку карт высот, карт нормалей и карт расстояний. Поддерживается лицензией Expat. Официальный сайт: https://github.com/prideout/heman.
libcaca: ASCII рендерер на основе терминала. Поддерживается лицензией WTFPLv2. Официальный сайт: https://github.com/cacalabs/libcaca.
libimagequant: небольшая и лёгкая библиотека для преобразования высококачественных RGBA изображений в 8-битные пиксельные изображения. Поддерживается лицензией FreeBSD. Официальный сайт: https://pngquant.org/lib/.
libjpeg-turbo: более быстрая библиотека для чтения и записи файлов JPEG. Поддерживается различными лицензиями. Официальный сайт: http://libjpeg-turbo.virtualgl.org/.
libpng: официальная библиотека PNG. Поддерживается собственной лицензией libpng. Официальный сайт: https://http://www.libpng.org/.
libxmi: библиотека функций для растровой графики. Поддерживается лицензией GNU GPL3 или более поздней версией. Официальный сайт: https://gnu.org/software/libxmi/.
mozjpeg: кодировщик, улучшающий качество JPEG-изображений. Поддерживается лицензией 3-clause BSD. Официальный сайт: https://github.com/mozilla/mozjpeg.
OpenGL: высокопроизводительный стандарт для графики, предоставляющий нативные привязки на языке C. Поддерживается различными лицензиями. Официальный сайт: https://www.opengl.org/.
Craft: простая копия Minecraft, написанная с использованием OpenGL и языка C. Поддерживается лицензией Craft. Официальный сайт: http://hao.importnew.com/craft/, GitHub: https://github.com/fogleman/Craft.
GTK+: кроссплатформенный инструментарий для создания графического интерфейса пользователя. Поддерживается лицензией GNU LGPL2.1. Официальный сайт: http://www.gtk.org/.
IUP: ещё один кроссплатформенный инструментарий для создания графического интерфейса пользователя. Поддерживается лицензией Expat. Официальный сайт: http://webserver2.tecgraf.puc-rio.br/iup/.
Tk: базовый инструментарий для создания графического интерфейса, часть Tcl/Tk. Поддерживается лицензией Tcl/Tk License. Официальный сайт: http://www.tcl.tk/.
XForms Toolkit: инструментарий для создания графического интерфейса для XWindow. Поддерживается лицензией GNU LGPL2.1. Официальный сайт: http://xforms-toolkit.org/.
Jansson: библиотека на C для кодирования, декодирования и обработки JSON. Поддерживается лицензией Expat. Официальный сайт: http://www.digip.org/jansson/.
jsmn: минималистичный анализатор JSON. Поддерживается лицензией Expat. Официальный сайт: http://zserge.com/jsmn.html.
json-c: библиотека для обработки JSON. Поддерживается лицензией Expat. Официальный сайт: https://github.com/json-c/json-c/wiki.
WJElement: продвинутая библиотека для обработки JSON, поддерживает JSON Schema. Поддерживается любой версией LGPL. Официальный сайт: https://github.com/netmail-open/wjelement/.
YAJL: быстрый анализатор потоков JSON на C. Поддерживается лицензией ISC. Официальный сайт: https://lloyd.github.io/yajl/.
SEI CERT C Coding Standard: стандарты кодирования для обеспечения безопасности программного обеспечения на C.
C FAQ: сборник часто задаваемых вопросов по языку программирования C.
GNU/Linux C/POSIX: ресурсы для изучения C и POSIX в среде GNU/Linux. Стандартизированные библиотеки: сравнение
C11 стандарт (черновик): http://www.open-std.org/JTC1/SC22/WG14/
Руководство по GNU C: https://www.gnu.org/software/gnu-c-manual/
Заметки о C от Роберта Пайка: http://kamalatta.ddnss.de/otherdocs/pikestyle.html
Начальный уровень
Учебник по указателям: http://home.netcom.com/~tjensen/ptr/pointers.htm
5-минутный учебник по языку C: http://blog.importnew.com/25409/
Основы адресации памяти в языке C: http://blog.importnew.com/44845/
Основы функций-указателей в языке C: http://blog.importnew.com/44639/
Указатели и массивы в языке C: основы: http://blog.importnew.com/44863/
Создание проектов на C: http://nethack4.org/blog/building-c.html
Энциклопедия C-программирования: https://en.wikibooks.org/wiki/C_Programming
Интересное введение в C: https://gist.github.com/eatonphil/21b3d6569f24ad164365
Изучение C с помощью GDB: https://www.recurse.com/blog/5-learning-c-with-gdb
Руководство по POSIX-потокам: https://computing.llnl.gov/tutorials/pthreads/ (немного устарело, но всё ещё актуально и полезно)
Руководство GNU по C: http://www.crasseux.com/books/ctut.pdf (онлайн PDF)
Шаблоны в C: http://blog.pkh.me/p/20-templating-in-c.html
Средний уровень
Восемь трюков GDB, которые вы должны знать: https://blogs.oracle.com/ksplice/entry/8_gdb_tricks_you_should
Десять трюков C99: http://blog.noctua-software.com/c-tricks.html
Глубоко в параллелизм: попытка взаимного исключения и атомарных операций: http://jvns.ca/blog/2014/12/14/fun-with-threads/
Введение в OpenMP: https://www.youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG (видео)
Руководство OpenMP: https://computing.llnl.gov/tutorials/openMP/ (для стандарта OpenMP3)
Сравнение memcpy и memmove: http://www.tedunangst.com/flak/post/memcpy-vs-memmove
Руководство MPI: https://computing.llnl.gov/tutorials/mpi/
Некоторые неизвестные особенности или трюки в языке программирования C: http://proprogramming.org/some-unknown-features-or-tricks-in-c-language/
Потерянный мир упаковки структур данных в C: http://blog.importnew.com/57822/
Память, которую должен знать каждый программист на C: http://marek.vavrusa.com/c/memory/2015/02/20/memory/
Неопределённое поведение, которое должен знать каждый C-программист: http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
Продвинутый уровень
Продвинутое метапрограммирование в C: http://250bpm.com/blog:56
Быстрый учебник: как реализовать и отладить malloc, free, calloc и realloc: http://danluu.com/malloc-tutorial/
Трюки с битовыми операциями: https://graphics.stanford.edu/~seander/bithacks.html
Я не знаю C: http://kukuruku.co/hub/programming/i-do-not-know-c
Реализация умных указателей в C: https://snai.pe/c/c-smart-pointers/
Встроенные функции в C: http://www.greenend.org.uk/rjk/tech/inline.html
Метапрограммирование управляющих структур в C: http://www.chiark.greenend.org.uk/~sgtatham/mp/
Использование макросов для решения проблем с временной памятью в C: http://www.samnip.ps/thought/macro-storage-for-inverse-comma
Скрытые уголки языка C: https://docs.google.com/presentation/d/1h49gY3TSiayLMXYmRMaAEMl05FaJ-Z6jDOWOz3EsqqQ/edit?pli=1#slide=id.gaf50702c_0153
Написание эффективного кода на C и оптимизация кода C: http://www.codeproject.com/Articles/6154/Writing-Efficient-C-and-C-Code-Optimization
Самоучители
Справочник C: A Reference Manual 5E: http://careferencemanual.com/ — полный справочник по C99
Карманный справочник C: http://shop.oreilly.com/product/9780596004361.do — карманный справочник по C99
Язык программирования C 2E: https://ru.wikipedia.org/wiki/The_C_Programming_Language — первая книга о языке программирования C, написанная создателем C.
C Primer Plus 6E: http://www.pearsonhighered.com/educator/product/C-Primer-Plus-6E/9780321928429.page — полное руководство по программированию на C11.
Программирование на C: современный подход: http://knking.com/books/c2/index.html — отличная книга для изучения основ C.
Head First C: http://shop.oreilly.com/product/0636920015482.do — книга «глубокого погружения» для изучения C.
21st Century C: http://shop.oreilly.com/product/0636920033677.do — отличная книга по C, которая может быть использована в качестве альтернативы.
Понимание и использование указателей C: http://shop.oreilly.com/product/0636920028000.do — углублённый анализ указателей в C.
ZeroMQ: http://shop.oreilly.com/product/0636920026136.do — введение в использование ZeroMQ с C.
Asnlc — компилятор ASN.1 в C-код. Лицензия: FreeBSD.
Czmq — высокоуровневая привязка к ZeroMQ.
GNU Adns — продвинутый, удобный, асинхронный DNS-клиент и набор утилит. Лицензия: GNU GPL3 и более поздние версии.
GNU Sasl — простая реализация аутентификации и безопасности, а также некоторых распространённых механизмов SASL. Лицензия: GNU GPL3 и более поздние версии.
GNU GnuTLS — библиотека для безопасной связи, реализующая SSL, TLS и DTLS. Лицензия: GNU LGPL2.1 и более поздние версии.
Gumbo-parser — парсер HTML5 на C99. Лицензия: Apache2.0.
Http-parser — анализатор HTTP-запросов и ответов. Лицензия: Expat.
Ldns — упрощённая библиотека для программирования DNS. Лицензия: 3-Clause BSD.
Libcurl — клиентская библиотека URL-преобразования, поддерживающая множество форматов. Лицензия: curl license.
LibEtPan — почтовый клиент, поддерживающий IMAP, SMTP, POP и NNTP. Лицензия: 3-Clause BSD.
Libev — событийно-ориентированная библиотека. Лицензия: FreeBSD.
Libevent — альтернатива библиотеке libev для сетевых серверов. Лицензия: 3-Clause BSD.
Libgss — универсальная служба безопасности. Лицензия: GNU GPL3 или более поздняя версия.
Libhttpd — библиотека, добавляющая базовые веб-серверные функции приложениям или встраиваемым устройствам. Лицензия: GNU GPL2.
Libhv — китайская сетевая библиотека, более удобная в использовании по сравнению с libevent и libuv. Лицензия: 3-Clause BSD.
Libidn — реализация Stringprep, Punycode и IDNA. Лицензия: GNU GPL3 или более поздняя версия.
Libmicrohttpd — мини-библиотека, которая упрощает запуск HTTP-сервера как части другого приложения. Лицензия: GNU LGPL2.1 или более поздняя версия.
Libsoup — GNOME HTTP-клиент/серверная библиотека, использующая GObject. Лицензия: GNU LGPL2.1.
Lwan — экспериментальный, расширяемый и высокопроизводительный HTTP-сервер. Лицензия: GNU GPL2.1.
Mongoose — встроенный веб-сервер на основе C. Лицензия: GNU GPL2.1.
Nanomsg — реализация ZeroMQ на C. Лицензия: Expat.
Onion — лёгкая в использовании библиотека HTTP-серверов. Лицензия: Apache2.0.
OpenSSL — реализация SSL и TLS, включая криптографическую библиотеку. Двойная лицензия OpenSSL и SSLeay.
Osip — SIO на C без дополнительных зависимостей. Лицензия: GNU LGPLv2.1 или более поздняя версия.
S2n — реализация TLS/SSL на C99, простая, быстрая и безопасная. Лицензия: Apache2.0.
Socket99 — оболочка для BSD-сокет API на C99. Лицензия: ISC. GPL3
twitc: библиотека для взаимодействия с Twitter OAuth API.
Expat: лицензия.
Сайт: https://github.com/irungentoo/toxcore
Web-фреймворки
balde: микрофреймворк на основе GLib.
LGPLv2.1: лицензия.
Сайт: https://github.com/balde/balde
Числовые вычисления
apophenia: библиотека для статистики и научных вычислений.
GPL2.1: лицензия.
Сайт: https://github.com/b-k/apophenia
И так далее.
В запросе нет информации, которая могла бы помочь определить основной язык текста. Поэтому перевод выполнен на русский язык без учёта специфики исходного языка. GPL3 (http://www.gnu.org/licenses/gpl.html) или более высокая версия.
pthreads: POSIX-библиотека потоков. Стандарт (без применимой лицензии). (https://en.wikipedia.org/wiki/POSIX_Threads)
SLEPc: библиотека программного обеспечения для решения больших разреженных задач на собственные значения в параллельных компьютерах. GNU LGPL3 (http://www.gnu.org/licenses/lgpl.html). (http://slepc.upv.es/)
TinyCThread: расширяемая, компактная реализация стандартного API C11-потока. zlib (http://directory.fsf.org/wiki/License:Zlib). (https://tinycthread.github.io/)
Некоторые люди, сталкиваясь с проблемой, думают: «Ах, я знаю, я могу использовать регулярные выражения». Теперь у них две проблемы. — Джейми Завински.
PCRE: реализация, полностью совместимая с регулярными выражениями Perl. 3-clause BSD (http://directory.fsf.org/wiki/License:BSD_3Clause). (http://www.pcre.org/)
SLRE: Super Light Regular Expression library; миниатюрная реализация синтаксиса регулярных выражений Perl. GNU GPL2.1 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). (https://github.com/cesanta/slre)
TRE: библиотека регулярных выражений, совместимая с POSIX и богатая функциями. FreeBSD (http://directory.fsf.org/wiki?title=License:FreeBSD "License:FreeBSD"). (https://github.com/laurikari/tre/)
О регулярных выражениях — хорошая статья от deerchao: «Регулярные выражения за 30 минут»
c-capnproto: реализация Cap'n Proto протокола сериализации. Expat (http://directory.fsf.org/wiki/License:Expat). (https://github.com/jmckaskill/c-capnproto)
cmp: реализация протокола сериализации MessagePack. Expat (http://directory.fsf.org/wiki/License:Expat). (https://github.com/camgunz/cmp)
libavro: C-реализация Avro системы данных сериализации. Apache2.0 (http://directory.fsf.org/wiki/License:Apache2.0). (http://avro.apache.org/docs/current/api/c/index.html#_introduction_to_avro_c)
mpack: ещё одна реализация протокола сериализации MessagePack. Expat (http://directory.fsf.org/wiki/License:Expat). (https://github.com/ludocode/mpack)
protobuf-c: C-реализация Google Protocol Buffer. FreeBSD (http://directory.fsf.org/wiki?title=License:FreeBSD "License:FreeBSD"). (https://github.com/protobuf-c/protobuf-c)
xdr: External Data Representation; стандарт сериализации данных. Стандарт (нет доступной лицензии). (https://en.wikipedia.org/wiki/External_Data_Representation)
Далее представлены некоторые небольшие коллекции исходного кода. Если вы хотите получить большую и зрелую коллекцию, смотрите раздел «Фреймворки».
CCAN: имитация CPAN Perl, это большая коллекция полезного кода C. Полный список здесь. Различные лицензии (все бесплатные программы). (http://ccodearchive.net/)
clib: менеджер пакетов C, оснащённый множеством собственных библиотек. Expat (http://directory.fsf.org/wiki/License:Expat). (https://github.com/clibs/clib)
gnulib: коллекция универсального кода GNU. Различные лицензии, все бесплатные. (https://www.gnu.org/software/gnulib/)
libdjb: набор библиотек для различных целей. (Очевидно) общественное достояние. (http://www.fefe.de/djb/)
Ниже приведены стандартные библиотеки C.
Bionic: C стандартная библиотека, разработанная Google для Android. 3-clause BSD (http://directory.fsf.org/wiki/License:BSD_3Clause). (https://github.com/android/platform_bionic)
dietlibc: стандартная C библиотека, возможно, самая маленькая бинарная. GNU GPL2.1 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). (http://www.fefe.de/dietlibc/)
glibc: GNU C библиотека. Реализация стандартной C библиотеки. GNU LGPL2.1 (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). (http://www.gnu.org/software/libc/)
musl: стандартная C библиотека, совместима с POSIX 2008 и C11, предназначена для статической компоновки. Expat (http://directory.fsf.org/wiki/License:Expat). (http://www.musl-libc.org/)
bstrlib: лучшая библиотека обработки строк. Двойное лицензирование, 3-clause BSD или GNU GPL2.1. (http://bstring.sourceforge.net/)
ICU: International Components for Unicode; библиотека с поддержкой Unicode. Лицензия ICU (http://source.icu-project.org/repos/icu/icu/trunk/license.html). (http://site.icu-project.org/)
libunistring: C библиотека для работы со строками Unicode. GNU LGPL3 (http://www.gnu.org/licenses/lgpl.html). (https://gnu.org/software/libunistring/)
libgiconv: библиотека преобразования текста. GNU LGPL2.1 (библиотека), GNU GPL3 (программа кодирования). (https://gnu.org/software/libiconv/)
SDS: Simple Dynamic Strings; библиотека для простой обработки C строк и совместимости со стандартными C строковыми функциями. Можно использовать через clib. FreeBSD (http://directory.fsf.org/wiki?title=License:FreeBSD "License:FreeBSD") (https://github.com/antirez/sds) шоко: небольшой текстовый компрессор.
смаз: эффективная библиотека сжатия строк.
Ниже приведён список полезных программ, включая библиотеки и компиляторы, которые помогают писать и отлаживать код на C, но не включают редакторы.
adlint: статический анализатор с полной поддержкой стандарта C89 и частичной поддержкой C99, GNU GPL3 или более поздняя версия.
Artistic Style: быстрый автоматизированный инструмент для форматирования кода на C, GNU LGPL3.
address-sanitizer: быстрый детектор ошибок памяти, Apache2.0.
biicode: современный менеджер зависимостей для C, Expat.
c: компилирует и выполняет C-скрипты из командной строки, также поддерживает shebang, Expat.
c99sh: запускает файлы C с помощью hash-bang, FreeBSD.
CBMC: C Bounded Model Checker, проверяет границы массивов, безопасность указателей и пользовательские утверждения, Original BSD.
cdecl: онлайн-сервис для перевода объявлений C на английский язык и наоборот, общественное достояние.
cinclude2dot: включает зависимости в изображения Graphviz в проектах C, GNU GPL (в соответствии с требованиями файла).
Complexity: измеряет сложность кода на C, GNU GPL3 или более поздняя версия.
DDD: графический интерфейс для различных командных отладчиков, GNU GPL3 или более поздняя версия.
fab: оптимизирует процесс сборки, GNU GPL3.
GDB: отладчик проекта GNU, GNU GPL3 или более поздняя версия.
Glade: RAD-инструмент для ускорения разработки графических интерфейсов на TK+, GNU LGPL. GPL2.1
GMSL: GNU Make Standard Library; набор дополнительных функций для GNU Make. 3-clause BSD.
GNU Global: инструмент для работы с исходным кодом на C. GNU GPL3.
gprof: инструмент анализа производительности. Часть GNU binutils. GNU GPL3 или более поздняя версия.
Highlight: преобразует исходный код в форматированный текст с выделением синтаксиса. GNU GPL3.
include-what-you-use: помогает разработчикам обнаруживать ненужные включения и предлагает решения. Основан на LLVM/Clang (работает только с ним). NCSA.
indent: автоматически форматирует код на C, делая его более читаемым. Также может преобразовывать один стиль кода в другой. GNU GPL3 или более поздняя версия.
Make: инструмент для управления созданием исполняемых файлов и других не кодовых файлов. GNU GPL3 или более поздняя версия (связан с реализацией GNU).
qo: система сборки без отдельных конфигурационных файлов. Expat.
rr: отладчик, который записывает неопределённое выполнение для обеспечения детерминированной отладки. FreeBSD.
tup: быстрая, платформонезависимая система сборки, основанная на файлах. GNU GPL2.1.
unifdef: удаляет текст, включенный с помощью директив #ifdef и #if, не изменяя другие части файла. 3-clause BSD и FreeBSD.
Valgrind: набор инструментов динамического анализа, включая инструмент обнаружения утечек памяти. GNU GPL2.1.
Другие инструменты
Ниже представлен всеобъемлющий список, включающий вещи, которые не подходят для других категорий.
ApeTagLibs: библиотека тегов APEv2 на C. Expat.
bfd: библиотека для обработки двоичных объектных файлов. Часть GNU binutils. GNU GPL3 или более поздняя версия.
ccv: современная библиотека компьютерного зрения на языке C с кэшированием. 3-clause BSD.
cf4ocl: The C Framework for OpenCL; кроссплатформенный объектно-ориентированный фреймворк для разработки и тестирования проектов на основе OpenCL. GNU LGPL3 (библиотека), GNU GPL3 (другой код).
CommonMark: реализация стандарта CommonMark на C. Разнообразные лицензии, все бесплатные.
CException: реализация исключений на C. Expat.
docopt.c: реализация парсера командной строки на C. Expat.
dyncall: ещё одна библиотека интерфейса внешних функций. Expat.
FANN: Fast Artifical Neural Network library; реализация нейронной сети. GNU GPL2.1.
Firm: библиотека на C, предоставляющая оптимизированный ассемблерный код на основе промежуточного представления изображений. Имеет пример C-фронтенда с той же лицензией. GNU LGPLv2.1.
gjrand: библиотека процедур генерации случайных чисел. GNU GPL2.1 или GNU GPLv3 (на выбор пользователя).
GNU FreeIPMI: реализация IPMI с внутренним и внешним доступом. GNU GPL3.
GNU gperf: идеальный генератор хеш-функций, предоставляющий ряд строк. Выводит код на C. GNU GPL3 или более поздняя версия.
GNU Libffcall: коллекция для создания библиотек внешних функций. GNU GPL3. Или более новая версия.
[Официальный сайт]
./waf configure --disable-cplayer --enable-libmpv-shared
. [GNU GPL2.1] или более поздняя версия. [Официальный сайт].uthash — реализация хеш-таблицы, которая позволяет легко добавлять уже существующие структуры данных в хеш-таблицу.
Viola — упрощённая версия libCello.
zlib — довольно красивая и при этом изящная библиотека сжатия.
[Sundown] — синтаксический анализатор исходного кода, написанный на C, который соответствует стандартам, быстрый и безопасный.
XML
«XML — это мусор. Действительно, без каких-либо оправданий. XML недружелюбен к людям и даже для компьютеров является катастрофой».
— Линнус Торвальдс, основатель Linux.
Expat — потоковый анализатор XML.
libxml2 — лёгкий и соответствующий стандартам анализатор XML.
[mini-xml] — небольшая библиотека для чтения и записи XML, не зависящая от стандартной библиотеки C.
GNU LGPL2.1 with static linking exception.
Другие ресурсы
Влиятельные книги
Книги по языку C, которые оказали большое влияние и заслуживают прочтения.
(Будет дополнено.)
Веб-сайты и блоги
Значимые веб-сайты и блоги о C.
Китайский язык
(Будет дополнено)
Английский язык
(Будет дополнено)
Weibo и Weixin
Публичный аккаунт CPP Developer, посвящённый техническим статьям и инструментам для разработки на C/C++.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )