gnulib glib和glibc的优势和功能有什么不同?谢谢!
发布于 2010-02-11 04:33:52
glibc是一个核心的C运行时库。它提供了像printf(3)和fopen(3)这样的东西。
glib是一个用C编写的基于对象的事件循环和实用程序库。
gnulib是一个库,它提供从POSIX API到本机API的适配器。
这三种方法都用于完全不同的任务。
发布于 2019-07-02 05:11:54
GNU glibc是GNU C库的缩写,是GNU Project对C standard library的实现。C标准库的应用编程接口是在熟悉的头文件中声明的,比如<stdio.h>和<stdlib.h> (有关头文件的完整列表,请参阅维基百科链接)。
POSIX操作系统API是通过<unistd.h>提供的,它主要包装像fork这样的系统调用和像read/write这样的I/O操作。
GLib是一组用C编写的系统库,由GNOME ( GNU Project的一部分)开发。引用维基百科(很遗憾没有来源)
GLib提供了高级数据结构,如内存块、双向和单向链表、哈希表、动态字符串和字符串实用程序,如词法扫描器、字符串块(字符串组)、动态数组、平衡二叉树、N元树、夸克(字符串和唯一整数标识符的双向关联)、键控数据列表、关系和元组。缓存提供内存管理。
GLib实现了提供线程、线程编程和相关设施的函数,如原始变量访问、互斥锁、异步队列、安全内存池、消息传递和日志记录、挂钩函数(回调注册)和计时器。GLib还包括消息传递功能,如字节顺序转换和I/O通道。
GLib的其他一些功能包括:
模块的标准macros
GNU Gnulib,也被称为GNU portable Library,是一组有助于编写可移植代码的代码。来自the manual
Gnulib旨在成为
项目的大多数重要的“可移植性”和/或公共文件的规范源代码。这些是打算在源代码级别共享的文件;Gnulib不是一个典型的要安装和链接的库。因此,与大多数项目不同的是,Gnulib通常不会生成源代码tarball发行版;相反,开发人员直接从源代码库获取模块。
许多函数都实现了portability workarounds for ISO C and POSIX functions。
https://stackoverflow.com/questions/2240120
复制相似问题