【问题标题】:Why there is not a comprehensive c archive network? [closed]为什么没有一个全面的 c 档案网络? [关闭]
【发布时间】:2010-06-20 19:42:42
【问题描述】:

有些网站是 python/perl/R 库的集合。为什么 c 没有等价的?

我搜索了互联网,只找到了一个自称为CCAN 的小网站。那个网站上只有几个图书馆。

如果我需要额外的 c 编程库,我在哪里可以找到它们?是否有组织良好的 c 库网站?

谢谢。

【问题讨论】:

  • 只要深入了解您的 Linux 发行版存储库,c 库就隐藏在其中。
  • 如果您知道自己想要什么,那么找到好的 C 库会容易得多。你在找什么样的图书馆?

标签: c search libraries


【解决方案1】:

如果我需要额外的 c 编程库,我在哪里可以找到它们?是否有组织良好的 c 库网站?

在 CCAN 之外我不知道。

这里的问题是 C 没有任何松散的库规范。将其与例如Java、Python 或 Perl 中的包。

即便如此,C 语言本身还是很简单的,留下很多东西让库自己实现。 I/O 抽象、内存管理、多线程、操作系统集成——库与任何资源的工作方式上的微小差异可能会使它们不兼容,从而阻止它们在同一个项目中使用。

我在过去见过一些 C 的第三方商业库,涵盖了相当多的功能,但坦率地说,我不能推荐它们,老实说,我什至不记得它们的名字——因为它们经常造成的问题多于真正的帮助. (好吧,我在撒谎:它们很少会导致无法解决的问题:后来经常出现问题的是众多变通方法。)

否则,对于 C,您可能需要检查 Glib 并且(不要误会我的意思)还要检查 C 标准,因为根据我的经验,很少有人真正了解标准库本身中已经存在的许多实用程序。好吧,Google 是你的朋友:有很多公共领域的代码供你简单地投入到你的项目中。

【讨论】:

    【解决方案2】:

    我不知道有谁详细研究过这个,但我很想看看这些研究。我确信这与 C 编程社区本身的性质有关。

    我认为答案的很大一部分(也许是主要的?)部分是:在万维网之前,没有单一资源可以获取特定语言的库。人们通过许多不同的方式获得他们的图书馆和图书馆知识:通过 BBS、邮件列表、新闻组和期刊。当然,C 社区的历史是从那个时候开始的,我注意到这个时期和之前的其他语言在文化上存在类似的差异。

    我认为答案的另一部分与 C 文化本身的普遍去中心化有关。没有一个 C 编译器,没有一个 C 开发社区,可以作为项目的枢纽和潜在点。 C 开发社区庞大,这进一步推动了这种去中心化和分裂。

    就 C 库而言,OS 发行版实际上在收集有用的 C/C++ 库方面做得很好。 (我相信 Windows 是个不幸的例外。)他们在这些语言中比大多数其他语言做得更好,可能是因为 C 和 C++ 在这些平台上是如此重要的系统语言。

    就 CCAN 而言,考虑到 C 代码的不同分发者的数量,我认为更有价值的项目是拥有一个链接到他们自己的本地站点上的各种库的单个站点,而不是而不是试图让他们直接上传到 CCAN。我认为除了谷歌之外还有其他用途,如果你尝试浏览图书馆,这会给你带来很多噪音。问题是,如果存在这样的网站,您和大多数 C 社区会接受吗?

    您可能会很高兴看到 CPAN 是如何开始的:http://www.brainbell.com/tutors/Perl/CPAN_History.htm

    CPAN 的发展与它的社区一样。因此,如果有领导和兴趣,C/C++ 世界也可能发生同样的事情。但这还没有发生。

    【讨论】:

      【解决方案3】:

      使用http://www.google.com/codesearch?q=lang:%22C%22 的变体http://www.google.com/codesearch

      => 即在搜索查询中添加lang:"C"

      【讨论】:

      • 我会远离那个。不久前,我在 Google 代码搜索中搜索 UTF-8 实现,作为调查/比较,在我查看的 20 个左右中,没有一个是正确的。它们都以各种方式违反了规范,其中一半或更多存在可能导致漏洞或可用性问题的重大错误。
      【解决方案4】:
      【解决方案5】:

      有一个类似于 Maven 的存储库和依赖管理系统,名为 Biicode
      那里还没有大量的库集合,但您可以自己添加开源项目的分支或告知原作者。

      编辑:biicode 背后的公司is dead

      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。

          【讨论】:

          • 有时谷歌在这个任务上不是那么有效,因为'c'只是一个字母?
          • @progmr:code.google.com 目前非常适合浏览托管在 code.google.com 上的内容,但对于那里的大量其他 C 库却毫无用处。尝试在 code.google.com 中搜索“xerces api”,您就会明白我的意思。 @Luca:Google 很适合查找特定的库,但对于浏览库没有那么有用。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-06-11
          • 2012-12-06
          • 1970-01-01
          • 1970-01-01
          • 2013-02-12
          相关资源
          最近更新 更多