网站大量收购独家精品文档,联系QQ:2885784924

Linux下一些实用的开源库使用-电子版课件.ppt

Linux下一些实用的开源库使用-电子版课件.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下一些实用的开源库使用-电子版课件

谢谢大家 * 第*页 * * * * * * 第*页 Linux下一些实用的开源库使用 * 第*页 一些开源库简介 GLIB介绍 BOOST介绍 TIPC介绍 GLIB详细介绍 基本内容 * 第*页 一些开源库简介 Linux系统已经深入到大家的日常生活中,比如智能手机、智能电视等。世界上有大量的程序都在Linux系统上进行应用开发。但是在Linux上开发应用程序不如windows有丰富的函数库支持,所有一些开源组织也开发了很多类似windows的一些函数库。例如Glib、Boost、Log4c、Tipc等,下面会分别简单介绍一下这些库的使用场景,Glib会详细讲解使用方法。 * 第*页 GLIB介绍 gnome是基于gtk+开发的一套桌面环境,gnome和KDE作为两大最流行的桌面环境,在全世界广泛使用。只要是在Linux下工作的开发人员,对于gtk+一定不陌生。而对于glib,这个gtk+下的无名英雄,其功能强大却鲜为人知。今天,在这里简要介绍一下,如果你是开发人员,看完本文,相信你会喜欢上它的。 glib不是gllibc,尽管两者都是基于(L)GPL的开源软件。但这一字之差却误之千里,glibc是GNU实现的一套标准C的库函数,而glib是gtk+的一套函数库。在linux平台上,像其它任何软件一样,glib依赖于glibc。 * 第*页 GLIB介绍 如果你是一个工作3年以上的C语言程序员,现在让你讲讲写程序的苦恼,你可能有很多话要说,但如果你有时间研究一下glib,你会发现,很多苦恼已不再成其为苦恼,glib里很多东西正是你期望已经久的。 gobject是glib的精粹,glib是用C实现的,但在很大程序是基于面向对象思想设计的,gobject是所有类的基类。 动态数组、链表、哈希表等通用容器,在不同的公司,在不同的时期,在不同的情况下,我们每个人对每一种容器,可能都实现过N次以上。甚至在同一个项目里,出现几份链表的实现,也并非罕见。一直在抱怨,标准C中为什么没有类似于STL的标准容器,让全世界的程序员在数以万次的重复实现它们。 * 第*页 glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非常精致。不用白不用,别客气了。 glib提供了一套完整的宏,利用这些宏编写程序,可以实现跨硬件平台,可以解决大端格式,小端格式,还是PDP格式问题。 你开发过跨操作系统的软件吗?在不同的平台下,很多函数有相同的功能,但函数原型,返回值差异巨大,也有的貌合神离,相同的名称有着不同的意义,请看下面这张清单: GLIB介绍 * 第*页 GLIB介绍 动态库加载函数 线程函数 信号量函数 互斥锁函数 事件函数 字符集转换函数 原子操作函数 创建进程函数 时间格式 IO函数 为完成相同的功能,你却要为此写出不同的代码,有了Glib,你只需要同一个函数就以搞到它。 GLIB还有很多功能,这里就不一一介绍了。 * 第*页 BOOST介绍 Boost是什么?一套开放源代码、高度可移植的C++库。 谁发起的?C++标准委员会库工作组。所以,质量保证,不怕遇到假冒伪劣产品。 boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。 STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 BOOST介绍 BOOST有些什么呢?瞧瞧: 正则表达式,可以与POSIX API和Perl语言处理正则表达式的功能相媲美,而且还能支持各种字符类型(如char、wchar_t,甚至还可以是自定义字符类型); 多线程,想了很久的跨平台多线程库了; 数据结构“图”,再加上即将加入标准的hash_set、hash_map、hash_multiset、hash_multimap等等(事实上不少STL实作,如SGI STL,已经支持以上数据结构),C++对数据结构的支持已近完备; python,没错,对Python语言的支持; 智能指针,与std::auto_ptr一起善加使用,可杜绝内存泄露,效率更不可和垃圾收集机制GC同日而语; 更有循环冗余的CRC、可轻松定义返回多个值函数的元组tuple、可容纳不同类型值的any、对标准库各方面的补充…… 还在迅速扩大中,部分内容有望进入C++标准库…… * 第*页 BOOST介绍 * 第*页 下面是BOOST库一些功能描述: Boost.Regex?

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档