Linux环境下C编程指南

出版时间:2010-4  出版社:清华大学出版社  作者:杨树青,王欢 编著  页数:388  字数:608000  
Tag标签:无  

前言

Linux是由UNⅨ发展而来,最初由一位芬兰大学生开发和维护,现在Linux已经成为最为流行的免费操作系统。Linux的独特之处在于它的建立不受任何商品化软件的版权制约,全世界都能免费、自由地使用。世界各地有几十万计算机自愿者为这个充满魅力的操作系统贡献着自己的才能,从初学者到计算机专业人士,还有经验丰富的黑客们,一直在不断地改进和维护着这个系统。许多大学与研究机构、公司及家用PC机都在使用Linux。Linux年轻而富有朝气,它从诞生到现在不过15年时间,但已经确立了自己的地位并产生了广泛的影响。C语言是国际上广泛使用的计算机高级语言。C语言最初用于描述和实现13NIX系统,后来逐渐被广大程序员所接受,成为备受欢迎的编程语言。在其后的发展过程中,C语言不断吸收计算机方面的新成果,使该语言逐渐完善起来。作为Linux系统的开发语言,C语言在Linux编程开发中扮演着重要的角色。Linux作为操作系统,一个重要的功能就是要支持用户编程。C语言作为当前使用最广泛的系统编程语言,具有多平台性、移植性好的特点,因此Linux与C很快形成了完美的结合,为用户提供了一个强大的编程环境。本书正是从这样的结合点出发,介绍在Linux系统中使用C语言编程的有关知识。国内Linux的发展方兴未艾,由于国内计算机教育体系等因素,Linux的发展已进入瓶颈状态,很多Linux爱好者仅仅停留在Linux系统管理的层次,而更多的Linux系统管理员或者Windows程序员想要转向做Linux的开发却无从下手,除了Linux开发界面本身不是很友好之外,更重要的是苦于找不到合适的学习参考资料入门。在这种情况下,作者根据多年来的开发和教学经验并融合大量的编程实例而著成此书。读者通过对本书的学习能够快速地学会Linux下的C语言编程,掌握其中的编程方法和技巧,并能从一开始就养成良好的编程习惯,从而帮助读者对Linux环境下的编程知识实现入门和提高。本书主要针对具有一定C语言编程基础,但未在Linux系统中使用过C语言的读者,着重讲解在Linux系统中使用C语言编程的方法。

内容概要

本书系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。本书内容翔实,主要包括Linux平台下C语言及其编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,进程、文件的相关操作,输入输出操作和内存管理,C语言网络编程方法等。    本书是作者根据多年来的开发和教学经验并融合大量的编程实例而著成的。读者通过本书的学习能够快速地学会Linux下的C语言编程,并能从一开始就养成良好的编程习惯,以便于读者低起点、高效率地掌握Linux环境下的编程知识。    本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适合有一定C语言基础,需要在Linux系统上编程的程序设计人员阅读,也可作为本、专科计算机专业的教材或参考书,还可供广大计算机爱好者学习C语言使用。

书籍目录

第1章 C语言基础和Linux系统概述   1.1 C语言基础   1.2 Linux系统概述   1.3 本章小结 第2章 内存管理   2.1 静态内存与动态内存   2.2 安全性问题   2.3 内存管理操作   2.4 使用链表   2.5 内存映像I/O   2.6 本章小结 第3章 vim与Emacs编辑器   3.1 vim简介   3.2 Emacs简介   3.3 Emacs的C模式   3.4 本章小结 第4章 gcc编译器   4.1 gcc编译器简介   4.2 gcc编译流程简介   4.3 其他编译调试工具   4.4 本章小结 第5章 调试工具gdb   5.1 gdb符号调试器简介   5.2 gdb功能详解及其应用   5.3 gdb调试多线程程序   5.4 其他调试工具   5.5 本章小结 第6章 进程控制   6.1 进程的基本概念   6.2 进程控制的相关函数   6.3 多个进程间的关系   6.4 线程   6.5 本章小结 第7章 进程间通信   7.1 进程间通信简介   7.2 共享内存和信号量   7.3 管道通信   7.4 命名管道   7.5 消息队列   7.6 本章小结 第8章 文件操作   8.1 文件系统简介   8.2 基于文件描述符的I/O操作   8.3 文件的其他操作   8.4 特殊文件的操作   8.5 本章小结 第9章 输入输出——基于流的操作   9.1 流简介   9.2 基于流的I/O操作   9.3 临时文件   9.4 本章小结 第10章 信号及信号处理   10.1 信号及其使用简介   10.2 信号操作的相关系统调用   10.3 信号处理的潜在危险   10.4 本章小结 第11章 网络编程   11.1 网络编程基本原理   11.2 TCP套接口编程   11.3 UDP套接口编程   11.4 原始套接口编程   11.5 网络编程实例   11.6 本章小结 第12章 底层终端编程   12.1 底层终端编程   12.2 伪终端   12.3 本章小结 第13章 使用make   13.1 makefile文件简介   13.2 make书写规则   13.3 使用命令   13.4 使用变量   13.5 使用条件判断   13.6 使用函数   13.7 make的运行   13.8 隐含规则   13.9 使用make更新函数库文件   13.10 高级使用   13.11 库的使用   13.12 make辅助开发工具   13.13 本章小结

章节摘录

插图:Linux系统的特点如下:◇ 是真正的多用户、多任务、多平台操作系统。◇ 提供具有内置安全措施的分层的文件系统,支持多达32种文件系统。◇ 提供Shell命令解释程序和编程语言。◇ 提供强大的管理功能。◇ 具有内核的编程接口。◇ 具有图形用户接口。◇ 具有大量有用的实用程序和通信、联网工具。◇ 具有面向屏幕的编辑软件。◇ 组成部分的源代码是开放的,任何人都能修改和重新发布它。◇ 不仅可以运行自由发布的应用软件,还可以运行许多商业化的应用软件。Linux系统的主要功能如下。1.存储管理Linux采取页面式存储管理机制,每个页面的大小随处理芯片而异。在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址,页表还对物理页的访问权限做了规定,从而达到存储保护的目的。Linux存储空间的分配遵循的原则是不到有实际需要的时候不分配物理空间,这样可以最大限度地利用物理存储器。2.进程管理在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象进行分配的。在一个进程的生命周期中,会用到许多系统资源,Linux的设计可以准确描述进程的状态和资源的使用情况,以确保不出现某些进程过度占用系统资源而导致另一些进程无休止地等待的情况。Linux创建进程的方法是采用Copy in write技术,不复制父进程的空间,只是复制父进程的页表,使父进程和子进程共享物理空间,并将这个共享空间的访问权限置为只读,这样可以降低系统资源的开销。

编辑推荐

《Linux环境下C编程指南(第2版)》:通过大量程序实例介绍Linux平台下进C程序开发的方法和技巧。全面介绍C语言编译器。调试工具和自动维护工具的使用方法。详细介绍进程、文件的相关操作以及输入/输出操作和内存管理。重点介绍C语言网络编程基本原理和编程技术。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Linux环境下C编程指南 PDF格式下载


用户评论 (总计13条)

 
 

  •   值得购买,全方位,GDB、Makefile等部分讲解详细,Linux编程入门经典之作
  •   不过看的都是第一版,正好有第二版,所以就买了,还送了光盘哦。虽然还没来得及看光盘有啥,但是光是书本,就已经很不错了。继续加油学linux~!
  •   看大家的评论说这本书的内容超差劲,倒激发了我的兴趣,买来看看究竟是怎样的一本书!
  •   书挺不错的,喜欢
  •   作为随手用的工具书,很好。
  •   书看了一个星期了感觉很受用的,特别是对我这种初学者。
  •   特别适合Linux的C编程初学者,当然,这本书比较的浅显,但帮助你在Linux环境下用C编程绝对绰绰有余了。
  •   对于初学者是本不错的书。
  •   看了LINUX的内核,看不懂C,所以了解下C
  •   书挺好,可能是我有点笨,看着有点糊涂
  •   讲的太简单,没什么用!
  •   内容较详细,是一本好资料
  •   看目录觉得还行,但是买到手后,发现和人民邮电出版社出版的作者为贾明 严世贤的《linux下的C编程》(注意出版社,作者都不同)内容几乎是一摸一样。这也就罢了,发现根本讲得不清楚,还错误百出,而且还两本书都是同样的错误。花钱买教训啊,还是买影印的外国同类书吧,哎哎
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7