我对开发人员和用户点的这些术语感到有些困惑。 例如,我在Ubuntu上。
GNU libs
(https://www.gnu.org/software/libc/)默认安装,gnulib
(https://www.gnu.org/software/gnulib)不是,对吧?GNU libs
遵循POSIX标准,但是:
http://www.gnu.org/software/libc/manual/html_mono/libc.html#POSIX-Threads,
例如,似乎pthread_create
未在此处实施并在Gnulib
中实施,对吧?Gnome glib
只是第3个图书馆,对吗?但它基于GNU libs
或
Gnulib
?还有其他类似的图书馆吗?感谢。
答案 0 :(得分:5)
您呼叫的内容GNU libs
实际上称为glibc
或GNU C Library
。
它是标准C库和POSIX部分的实现,以及特定于Linux的扩展。
POSIX specifies pthread_create
和大多数其他pthread函数在单独的pthread
库中可用。
gnulib
和Gnome 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的其他信息。