前 言
近年来,随着Linux系统功能越来越强大,Linux系统已经逐渐占领原有的UNIX服务器市场,企业需要大量的Linux程序开发人员。本书正是针对这一需求而编写的,是一本Linux系统下程序开发的入门书籍。
本书试图帮助读者接触并进入Linux奇妙的编程世界。即使没有任何的Linux使用经验,只要您对C或C++编程有所了解(书中前几章的例程使用C++语言编写),就可以轻松地学习Linux系统下的程序开发。
本书有什么与众不同之处
考虑到初学者对Linux系统的接受程度,本书用了一定的篇幅来介绍Linux系统开发环境的搭建以及如何使用虚拟机在Windows平台上实现Linux开发,使初学者可以在熟悉的Windows环境里较快地了解Linux平台上的软件开发流程。
为了使读者加深对系统调用和函数的理解,本书中对这些函数都给出了详细的实例。通过实际的代码,使读者尽快熟悉函数的功能和使用方法。
本书在选择实例时,特别针对同一个问题使用不同的方法来解决,让读者对比不同解决方法,加深对知识的理解。
本书条理清楚,章节按照Linux编程的几大部分来进行划分,读者可以轻松地阅读其中的任意章节。
本书的主要内容
本书主要包括以下的内容。
第1章介绍了Linux系统的一些基本知识,涉及Linux的历史、Linux与UNIX的关系、Linux所遵循的POSIX标准及Linux Standard Base项目等。
第2章介绍了Linux系统的开发环境、主流的Linux版本(如Fedora Core 6和Ubuntu)的安装,同时,还介绍了虚拟机的相关内容。
第3章介绍了Linux系统中的一些开发工具的使用。本章介绍了Linux系统中的文本编辑器和常用的源代码阅读工具,并对GNU GCC、GNU Make和调试工具的使用进行了简单介绍。
第4章介绍了Linux的文件系统,主要涉及对文件和目录的操作。
第5章主要介绍了Linux系统文件I/O的相关知识。
第6章介绍了Linux系统中设备文件的相关操作。首先介绍了设备文件的基本知识,然后介绍了Linux系统中终端设备控制和串口通信的具体实现,最后介绍了如何在Linux系统中实现对音频设备的控制。
第7章主要介绍了Linux系统的进程与进程环境的相关知识。首先,介绍了进程的分类和进程的基本知识,然后介绍了Linux系统中与进程相关的系统调用,最后介绍了僵尸进程的概念以及如何清除僵尸进程。
第8章介绍了守护进程的相关知识。首先介绍了守护进程的创建以及如何在守护进程中实现日志功能,然后给出一个综合的实例,使读者加深理解。
第9章介绍了进程间通信的基本方法,介绍了Linux系统中信号的知识,并通过用户邮件自动检测这一综合实例,说明在程序中如何捕获信号,并实现对应的处理。
第10章介绍了管道和命名管道,详细介绍了管道与命名管道的使用,并给出了使用管道实现Shell重定向的实例,使读者加深对管道的理解。
第11章介绍了POSIX IPC的基本知识。POSIX IPC中定义了消息队列、信号量和共享内存3种进程间的通信方式,为了使读者加深理解,每节都给出了具体的使用实例。
第12章介绍了Linux多线程编程的基本知识。首先介绍了线程的基本概念,然后介绍了在Linux系统中如何创建线程及退出线程,并简单介绍了线程管理和修改线程属性的相关知识,最后介绍了如何实现线程同步以及如何使用互斥锁。
第13章介绍了Linux的网络编程。首先介绍了使用套接字编程的基本知识,然后介绍了面向连接的套接字通信和面向无连接的套接字通信,最后讲解了如何使用select函数实现对多路网络通信的监听。
第14章介绍了网络嗅探器的实现。首先介绍了嗅探器工作的基本原理,然后通过对Wireshark(Ethereal)使用的介绍,让读者对嗅探器有个初步的印象,最后介绍了libpcap开发包的使用。
第15章介绍了Linux图形界面开发的基本知识。首先简单地介绍了X Window的基本知识,然后讲解了Linux的桌面环境KDE和GNOME的不同,最后讲解了Linux系统下的图形开发包GTK+的安装方法。
第16章介绍了GTK+图形界面编程的基本知识。首先给出了一个简单的图形界面程序,然后通过逐步完善,从而引出了GTK+中的信号和事件,最后介绍了如何在程序中添加对事件和信号的处理。
第17章介绍了如何使用GTK+实现图形界面的布局以及按钮构件的使用。
第18章介绍了GTK+中的常用构件,涉及标签构件、列表构件、编辑构件、组合框构件、框架构件、进度条构件等。
第19章介绍了Linux系统中对话框的使用。
第20章介绍了菜单和工具条的使用。
第21章是综合实例部分,实现了一个ping程序。首先介绍了ping程序中的反馈信息和ICMP协议,然后介绍了ping程序的基本原理及其具体实现。
本书作者
本书由杜华组织编写,邱哲和张昊对本书的编写给予了大力支持,同时参与编写、资料整理和代码编写的有张金霞、陈冠军、刘冠军、罗思红、孙飞、王朋章、王石磊、王新平、文奇、吴琪、席国庆、谢超文、臧勇、张国强、张家春、郭玉敏、贺道权、胡斯登、江成海、姜海峰、李峥、利建昌、栗菊民、刘波等,在此一并表示感谢。
由于时间仓促,加之水平有限,书中不足之处在所难免,敬请读者批评指正。本书责任编辑的联系方法是huangyan@ptpress.com.cn,欢迎来信交流。
编 者
2007年8月
| 回书目 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||