有些网站是python / perl / R库的集合。为什么c没有等效的?
我搜索了互联网,发现自己只是一个小网站CCAN。该网站只有几个图书馆。
如果我需要额外的c编程库,我在哪里可以找到它们?是否有一个组织良好的c库网站?
感谢。
答案 0 :(得分:8)
如果我需要额外的c编程库,我在哪里可以找到它们?是否有一个组织良好的c库网站?
CCAN之外我不知道。
这里的问题是C对库没有任何松散的规范。将其与例如Java或Python或Perl中的包。
即使在那时,C本身就是裸露的骨头,为图书馆留下了很多东西来实现自己。 I / O抽象,内存管理,多线程,操作系统集成 - 库与任何资源一起工作的微小差异可能会使它们不兼容,从而阻止它们在同一个项目中使用。
我在过去看过一些第三方商业图书馆的C,涵盖了很多功能,但坦率地说我不能推荐它们,老实说甚至不记得他们的名字 - 因为他们经常造成的问题多于真正的帮助。 (好吧,我在撒谎:他们很少导致无法解决的问题:这是导致以后经常遇到问题的众多变通办法。)
否则,对于C,您可能需要检查Glib并且(不要误解我)也检查C标准,因为根据我的经验,很少有人知道标准库本身已有的许多实用程序。好吧,谷歌是你的朋友:很多公共域代码都可以让你直接投入你的项目。
答案 1 :(得分:6)
我不知道有谁详细研究过这个,虽然我很想看到这些研究。我确信它与C编程社区本身的性质有关。
我认为答案的一大部分(可能是主要的?)部分是:在WWW之前,没有一种资源可以用于获取特定语言的库。人们通过许多不同的方式获得他们的图书馆和图书馆知识:通过BBS,邮件列表,新闻组和期刊。当然,C社区可以追溯到这个时期,我注意到这个时期和之前的其他语言在文化上存在类似的差异。
我认为答案的另一部分与C文化本身的一般分权有关。没有一个C编译器,没有一个C开发社区,它可以作为一个中心,也可以作为项目附属的潜在点。 C开发社区是 huge ,这进一步推动了这种权力下放和分裂。
对于C库,OS发行版实际上在收集有用的C / C ++库方面做得非常好。 (我相信Windows有一个不幸的例外。)他们在这些语言中比大多数其他语言做得更好,可能因为C和C ++在这些平台上是如此重要的系统语言。
就CCAN而言,我认为,考虑到C代码的不同分销商的数量,有一个更有价值的项目,就是有一个链接到他们自己的本地站点上的各个库的站点,而不是而不是试图让他们直接上传到CCAN。我认为除了谷歌之外,还有一个用途,如果您只是尝试浏览图书馆,这会给你带来很多噪音。问题是,你和那里的大部分C社区是否会拥有这样一个网站?
您可能会很高兴看到CPAN如何开始:http://www.brainbell.com/tutors/Perl/CPAN_History.htm
CPAN正如其社区所做的那样发展。因此,如果领导力和兴趣存在,那么在C / C ++世界中也会发生同样的事情。但它还没有发生。
答案 2 :(得分:2)
使用http://www.google.com/codesearch?q=lang:%22C%22
的http://www.google.com/codesearch变体 =>即在搜索查询中添加lang:"C"
答案 3 :(得分:0)
使用这些网站:
答案 4 :(得分:0)
有一个名为Biicode的类似Maven的存储库和依赖关系管理系统 目前还没有庞大的图书馆馆藏,但您可以自己添加开源项目的分支,或者通知原作者。
编辑:biicode背后的公司is deadEDIT2:精神继承者似乎是conan.io
答案 5 :(得分:0)
有一个看起来很有前途的C包管理器,叫做 CLib :
github: https://github.com/clibs/clib
教程: https://dev.to/noah11012/clibs-a-package-manager-for-c-4jmi
答案 6 :(得分:-1)
为什么需要一个C库集合的网站?只需使用Google。