libc,glib,glibc等一些概念摘要。

以下文字转自:

http://hi.baidu.com/baowup/blog/item/4305ee063de27176020881f6.html

libc指C函数库,这是一个通称。

GNU libc就是glibc。

glibc 是提供系统调用和基本函数的 C 库,比如open, malloc, printf等等。所有动态链接的程序都要用到它。是GNU开发的C库(GNU libc)。

glibc2是glibc的version 2(第二版)。

glib是Gtk +库和Gnome的基础。glib可以在多个平台下使用,比如Linux、Unix、Windows等。GLib为许多标准的、常用的C语言结构提供了相应的替代物。GLib是一组较高层的函数库,其中定义了好多有用的数据结构,如单(双)向链表,可变长的数组等,Hash,线程池等有用的东西,在linux中glib是建立在glibc之上的。使用GLib库的程序都应该包含GLib的头文件glib.h。

glib2是glib的第二版。

libstdc++是C++标准I/O库,任何使用GNU的C++编译器G++来编译的C++程序都可以使用libstdc++,它包括了常规的C++例程,比如stl,在linux下,这个库一般放在/usr/lib目录下。


以下文字转自:http://blog.chinaunix.net/space.php?uid=21931055&do=blog&id=328768

发现很多人没有搞清楚这两个东西.有个错误的观点:认为Glib是GNU的东东.(因为前面那个"g"),而Glibc是Glib的一个子集.
    其实,Glib和Glibc基本上没有太大的联系,可能唯一的共同点就是他们都是UNIX下C编程调用的库而已. Glib是GTK+调用的底层核心库.(GTK+由开发GIMP的一些工具包集合发展而来).GIMP和Gnome这样的图形界面程序都是基于GTK+的.
    大家都知道C本身缺少数据结构,和一些重要的处理函数,C本身最复杂的数据结构也就是数组了.那么当你需要一个数据结构的话就自己得定义.幸好前人已经帮我们完成这个工作.他们把这写常用的数据结构和处理方法包装成一个库.其中之一就是Glib了.Glib中 定义了很多有用的数据结构.如数组(长度可变),单(双)向链表,hash表,队列,还有关系(学过关系型数据库的都应该知道这个概念).一些常用的处理 方法如:字符串的处理,标准输出(g_print等),错误输出,日志记录,为了portable而定义的一些基本数据类型(gint,gchar, guint等)极其他们的限制,还有事件循环,线程,IO操作等.
    GTK+和如今的多数GUI编程语言一样,基于消息传递与事件处理(GTK+里用信号,和消息的本质是一样的,只不过是前人帮我们定义好了而已).象 JAVA一样,GTK+中为我们定义好了容器,面板,组件等器件,调用就行了.而他本身又调用了Glib的好多东西.
    Glibc是GNU开发的C库,和libc中好多东西重复.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值