Я не припомню, чтобы для C встречалось что-либо такое обширное, как библиотека Boost в C++.
@ H2CO3 и djechlin должны голосовать за / против, если у него есть для этого причина, которую он считает действительной.
@djechlin вы можете дать правильный ответ?
связанные: programmers.stackexchange.com/q/116650
На ум пришел @becko - glib, ответ, опубликованный agateau, набравший на данный момент 8 голосов. Я считаю, что ответ Брайана Стюарта был принят во время моего комментария или, возможно, двух слов «Нет».
Я ничего не видел. На самом деле, шаблоны C++ - это технология, обеспечивающая поддержку STL и большую часть преимуществ, а в C их нет. Я видел много библиотек C-интерфейса для таких вещей, как обработка изображений, трехмерная графика, работа в сети и т. д., Но никогда не видел настоящую библиотеку общего назначения, такую как boost. Однако вы можете найти части - библиотеки потоков, строковые библиотеки и т. д. - которые похожи на разделы ускорения.
В зависимости от того, что именно вы пытаетесь сделать, существует APR (переносимая библиотека времени выполнения Apache), на которой построен демон Apache http.
Для графического интерфейса есть wxWidgets (ранее wxWindows).
Вы можете взглянуть на glib. Он предоставляет довольно много интересных вещей, таких как контейнеры, поддержка юникода, многопоточность ...
Взгляните на его документация
GLib больше похож на STL, чем на boost. Но в любом случае хороший выбор.
Иногда упоминается ACE (Adaptive Communication Environment). Это не совсем сравнение яблок с яблоками. Boost предоставляет больше «базовых строительных блоков», тогда как ACE предоставляет более тесно интегрированную структуру, ориентированную на продукты для телекоммуникационных компаний. Я много использовал и то, и другое, и считаю, что Boost значительно превосходит их. Одним из больших преимуществ Boost является то, что многие из его функций будут отображаться в расширениях STL для будущего стандарта C++ 0x (см., Например, http://en.wikipedia.org/wiki/Technical_Report_1).
или можно посмотреть ccan http://ccan.ozlabs.org/
но нет, на самом деле нет полного пакета, ближе всего подходит glib
Glib частично компенсирует это в виде различных типов строк в Юникоде. Если вы добавите Gobject, вы можете получить некоторое объектное программирование, даже некоторую сборку мусора.
@djechlin Я не думаю, что тебе следует ТАК наказывать. Предполагается, что он примет тот ответ, который сочтет лучшим. +1.