首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >glibc、glib和gnulib

glibc、glib和gnulib
EN

Stack Overflow用户
提问于 2010-02-11 04:28:58
回答 2查看 12.4K关注 0票数 33

gnulib glibglibc的优势和功能有什么不同?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-11 04:33:52

glibc是一个核心的C运行时库。它提供了像printf(3)fopen(3)这样的东西。

glib是一个用C编写的基于对象的事件循环和实用程序库。

gnulib是一个库,它提供从POSIX API到本机API的适配器。

这三种方法都用于完全不同的任务。

票数 52
EN

Stack Overflow用户

发布于 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

  • warnings和assertions

  • dynamic加载

Why use GLib functions?

GNU Gnulib,也被称为GNU portable Library,是一组有助于编写可移植代码的代码。来自the manual

Gnulib旨在成为

项目的大多数重要的“可移植性”和/或公共文件的规范源代码。这些是打算在源代码级别共享的文件;Gnulib不是一个典型的要安装和链接的库。因此,与大多数项目不同的是,Gnulib通常不会生成源代码tarball发行版;相反,开发人员直接从源代码库获取模块。

许多函数都实现了portability workarounds for ISO C and POSIX functions

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2240120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档