Почему нет всеобъемлющей сети c-архива?
Существуют веб-сайты в виде коллекций библиотек python/perl/R. Почему нет эквивалента для c?
Я искал в интернете и нашел только маленький сайт, называющий себя CCAN. На этом сайте всего несколько библиотек.
Если мне нужны дополнительные библиотеки для программирования на c, где я могу их найти? Есть ли хорошо организованный сайт библиотек c?
Благодарю.
Ответы
Ответ 1
Если мне нужны дополнительные библиотеки для программирования c, где я могу их найти? Есть ли хорошо организованный сайт библиотек c?
Мне неизвестно вне CCAN.
Проблема здесь в том, что C не имеет даже четкой спецификации для библиотек. Сравните это, например, пакетов в Java или Python или Perl.
И даже тогда C - довольно голодная кость, оставляющая много вещей, чтобы библиотеки могли реализовать себя. Ввод/вывод абстракции, управление памятью, многопоточность, интеграция ОС - незначительные различия в том, как библиотеки работают с любым из ресурсов, могут сделать их несовместимыми, не позволяя им использоваться в одном проекте.
Я видел в прошлом некоторые сторонние коммерческие библиотеки для C, охватывающие довольно много функциональности, но, честно говоря, я не могу их рекомендовать и честно даже не помню их имен, поскольку они часто вызывали больше проблем, чем действительно помогали, (Хорошо, я врежу: они редко вызывали неразрешимые проблемы: это многочисленные обходные пути, которые часто вызывали проблемы позже.)
В противном случае для C вы можете проверить Glib и (не поймите меня неправильно), чтобы проверить стандарт C как и в моем опыте, немногие фактически знают многие утилиты уже в самой стандартной библиотеке. И хорошо, что Google - ваш друг: вам нужно просто указать код общедоступного домена, чтобы вы просто вбрасывали его в свой проект.
Ответ 2
Я не знаю никого, кто подробно изучил это, хотя мне было бы интересно увидеть исследования. Я уверен, что это связано с природой самого сообщества программирования C.
Я думаю, что большая (возможно, основная?) часть ответа такова: перед WWW не было такого понятия, как единственный ресурс для получения библиотек для определенного языка. Люди получили свои библиотеки и знания библиотек различными способами: через BBS, списки рассылки, группы новостей и периодические издания. Сообщество C датируется с этого времени, конечно, и я заметил сходную разницу в культуре относительно других языков с этого периода и раньше.
Я думаю, что другая часть ответа связана с общей децентрализацией самой культуры C. Там нет ни одного компилятора C, ни одного сообщества разработчиков C, которое служит центром и потенциальным моментом для проектов, к которым они присоединяются. И сообщество разработчиков C огромно, что еще больше стимулирует эту децентрализацию и раскол.
В случае библиотек C, дистрибутивы ОС действительно выполняют довольно хорошую работу по сбору полезных библиотек C/С++. (С неудачным исключением Windows, я считаю.) Они лучше работают на этих языках, чем большинство других, возможно, поскольку C и С++ являются такими важными системными языками на этих платформах.
Что касается CCAN, я думаю, что бы сделать более достойный проект, учитывая количество разных дистрибуторов кода C там, состоит в том, чтобы иметь единственный сайт, который ссылается на различные библиотеки на своих собственных сайтах, а чем пытаться заставить их загружать прямо в CCAN. Я думаю, что для этого используется и в дополнение к Google, что даст вам много шума, если вы попробуете просто просматривать библиотеки. Вопрос в том, будет ли вы и основная часть сообществ C там охватывать такой сайт, если он существует?
Вам может показаться, что CPAN получил свое начало: http://www.brainbell.com/tutors/Perl/CPAN_History.htm
CPAN развился так же, как и его сообщество. То же самое может произойти в мире C/С++, если у вас есть лидерство и интерес. Но этого еще не произошло.
Ответ 3
использовать http://www.google.com/codesearch?q=lang:%22C%22 вариант http://www.google.com/codesearch
= > т.е. добавить lang:"C"
в поисковый запрос
Ответ 4
Используйте эти веб-сайты:
Ответ 5
Существует система управления репозиторией и зависимостями типа Maven, называемая Biicode.
Там еще нет огромной коллекции библиотек, но вы можете добавить вилки проектов с открытым исходным кодом самостоятельно или сообщить об этом оригинальным авторам.
EDIT: компания за бикодом мертва
EDIT2: духовный преемник, кажется, conan.io
Ответ 6
Есть менеджер пакетов C, который выглядит многообещающе под названием CLib:
GitHub:
https://github.com/clibs/clib
руководство:https://dev.to/noah11012/clibs-a-package-manager-for-c-4jmi
Ответ 7
Зачем вам нужен веб-сайт для коллекции библиотек C? Просто используйте Google.