“GNU libs vs Gnulib vs Gnome glib”令人困惑

时间:2014-06-27 21:48:10

标签: c gnu glibc glib

我对开发人员和用户点的这些术语感到有些困惑。 例如,我在Ubuntu上。

  1. GNU libshttps://www.gnu.org/software/libc/)默认安装,gnulibhttps://www.gnu.org/software/gnulib)不是,对吧?
  2. GNU libs遵循POSIX标准,但是: http://www.gnu.org/software/libc/manual/html_mono/libc.html#POSIX-Threads, 例如,似乎pthread_create未在此处实施并在Gnulib中实施,对吧?
  3. Gnome glib只是第3个图书馆,对吗?但它基于GNU libsGnulib?还有其他类似的图书馆吗?
  4. 感谢。

3 个答案:

答案 0 :(得分:5)

您呼叫的内容GNU libs实际上称为glibcGNU C Library。 它是标准C库和POSIX部分的实现,以及特定于Linux的扩展。

POSIX specifies pthread_create和大多数其他pthread函数在单独的pthread库中可用。

gnulibGnome glib是不符合任何特定标准的项目。如果你想使用它们,你必须从他们的主页决定。 glib使用GTK+,因此经常安装在Desktop Linux系统上。在服务器上不常见,但如果不是从一开始就通常很容易安装。它基于C和POSIX标准,而不是基于特定的实现。

答案 1 :(得分:1)

1)“GNU libs”对我来说意味着“编程库是GNU项目的一部分” GNU项目不是制作单个程序,而是制作很多东西,并且有许多库彼此独立 您链接的第一件事是他们的编程语言C的标准运行时,而不是一般的GNU库。如果默认安装,则取决于您的操作系统 所谓的gnulib是其他GNU程序/库中使用的辅助函数,但不能单独使用。在没有程序的情况下将它安装在任何地方是没有意义的,并且使用它的程序将包含它而不需要单独安装某些东西(至少作为数据包依赖性等)。再说一次:如果安装了依赖。

2)lib是否与POSIX不同,是否与GNU的一部分不同。再次不同的事情。 POSIX是不同操作系统的兼容性标准(与libc相关,但对于许多其他操作系统没有),GNU是软件等的集合。而pthread是一个自己的东西,不是gnulib的一部分。

3)Glib是另一回事,对吧不属于GNU。它可能使用GNU库(可能使用gnulib本身)和/或gnulib本身(不禁止在GNU之外使用它)。为了确保,请查看代码。当然还有更多的编程库......

答案 2 :(得分:1)

正如其他人所说,GLib是另一回事。但是什么?

GLib主要是Gnome Desktop代码和基于Gnome工具包的应用程序的一部分(GTk)[Ver。 3是当前,Ver。 2仍然是常用]。

它[GLib]提供GNOME中使用的核心对象系统,主循环实现,以及用于字符串和公共数据结构的大量实用函数。

您可以在开发者网站上找到GLib Reference Manual的其他信息。