LINUX C编程完全解密
本书特色
[
《Linux C编程完全解密》以Red Hat 9.0 和Ubuntu 12.01 为平台,系统地介绍了Linux 操作系统下的各种shell 命令以及在此平台下进行C 语言开发的步骤和方法,并通过大量实例讲解在Linux 下进行C 语言开发的方法和技巧。
《Linux C编程完全解密》共13 章,包括Linux 操作系统概述,Linux 的基本操作,文本编辑器,Linux 下的C 语言开发基础,静态库和动态库,make 工程管理,文件编程,shell 脚本的开发,进程管理,进程间通信(IPC), POSIX 线程,Linux 网络编程,Linux 驱动程序和嵌入式基础。同时还配有综合项目实战环节的源代码, 使读者能够在此基础上举一反三,提升开发应用项目的能力。
《Linux C编程完全解密》结构合理、内容全面、深入浅出、通俗易懂,具有很强的参考性和实用性。可作为普通高等院校计算机及相关专业进行Linux 平台下C 语言程序设计的教材,也可作为程序开发员的参考用书。
]
内容简介
[
《Linux C编程接近解密》以Red Hat 9.0 和Ubuntu 12.01 为平台,系统地介绍了Linux 操作系统下的各种shell 命令以及在此平台下进行C 语言开发的步骤和方法,并通过大量实例讲解在Linux 下进行C 语言开发的方法和技巧。
《Linux C编程接近解密》共13 章,包括Linux 操作系统概述,Linux 的基本操作,文本编辑器,Linux 下的C 语言开发基础,静态库和动态库,make 工程管理,文件编程,shell 脚本的开发,进程管理,进程间通信(IPC), POSIX 线程,Linux 网络编程,Linux 驱动程序和嵌入式基础。同时还配有综合项目实战环节的源代码, 使读者能够在此基础上举一反三,提升开发应用项目的能力。
《Linux C编程接近解密》结构合理、内容全面、深入浅出、通俗易懂,具有很强的参考性和实用性。可作为普通高等院校计算机及相关专业进行Linux 平台下C 语言程序设计的教材,也可作为程序开发员的参考用书。
]
作者简介
[
作者具有10年以上的linux C使用经验,对linux系统有较深的理解,熟悉linux应用程序设计和驱动程序设计。
]
目录
第1章 Linux操作系统概述 11.1 认识Linux操作系统 21.1.1 Linux操作系统发展背景 21.1.2 Linux操作系统的特点 21.1.3 Linux操作系统的应用现状 31.2 Linux C开发概述 31.2.1 Linux C开发简介 31.2.2 IEEE POSIX 41.2.3 Linux C 开发工具 41.3 小结 4习题 4第2章 Linux的基本操作 72.1 shell初体验 82.1.1 虚拟终端 82.1.2 shell命令 82.2 shell常用命令 92.2.1 目录和文件操作命令 92.2.2 文件归档及压缩 152.2.3 软件包的安装 172.3 深入shell 182.3.1 通配符 182.3.2 重定向 182.3.3 管道 192.3.4 自动补全 192.3.5 用户操作命令 202.3.6 关机与重启 212.4 硬链接与软链接 222.4.1 硬链接 232.4.2 软链接 242.5 小结 24习题 25第3章 文本编辑器 273.1 vi编辑器概述 283.1.1 vi的三种工作模式 283.1.2 vi的初体验 283.2 命令模式下的文本块操作 293.2.1 行的定位 293.2.2 文本块的复制、移动和删除 303.2.3 撤销和重复 313.2.4 字符串的查找 313.3 末行模式下的常用操作 313.4 vi环境定制 323.5 小结 33习题 33第4章 Linux下的C语言开发基础 354.1 C语言开发的基本步骤 364.1.1 gcc编译工具 364.1.2 gcc 编译过程详解 374.1.3 gcc 编译多文件 394.2 头文件 404.2.1 头文件的编辑和使用 404.2.2 进一步理解头文件 424.2.3 头文件重复包含 434.3 gdb 调试工具 444.3.1 gdb 调试基本命令 444.3.2 gdb 初体验 464.3.3 gdb 的断点调试 484.4 IDE 工具 CodeBlocks 514.4.1 CodeBlocks 的安装 514.4.2 CodeBlocks 的使用 524.5 小结 55习题 55第5 章 静态库和动态库 575.1 库的概述 585.1.1 为什么使用库 585.1.2 库的特点 585.2 静态库 595.2.1 静态库的创建 595.2.2 静态库的使用 605.3 动态库 615.3.1 动态库的创建 615.3.2 动态库的使用 625.4 静态库和动态库的区别 625.4.1 实例测试 635.4.2 验证环节 635.5 综合举例 655.6 小结 66习题 66第6 章 make 工程管理 696.1 make 概述 706.1.1 make 命令和Makefile 文件 706.1.2 Makefile 文件编写 706.1.3 Makefile 文件中的变量 726.1.4 Makefile 通配符 736.1.5 Makefile 文件的默认规则 746.1.6 Makefile 文件中的伪目标 756.1.7 make 的条件执行 766.2 automake 的使用 766.2.1 automake 生成Makefile步骤 766.2.2 实例讲解 776.3 小结 80习题 80第7 章 Linux 下的文件编程 817.1 概述 827.1.1 Linux 下的系统调用 827.1.2 基本I/O 函数 827.1.3 文件描述符 837.2 基本I/O 操作 837.2.1 open 函数 847.2.2 close 函数 867.2.3 write 函数 877.2.4 read 函数 887.2.5 lseek 函数 907.3 文件锁 917.3.1 Linux 下的文件锁机制 937.3.2 文件锁的使用 937.3.3 实例讲解 947.4 目录操作 977.4.1 mkdir 函数 977.4.2 rmdir 函数 987.4.3 getcwd 函数 997.4.4 opendir 函数 997.4.5 readdir 函数 1007.4.6 closedir 函数 1017.5 项目实战 1017.6 小结 110习题 110第8 章 shell 脚本的开发 1138.1 shell 编程基础 1148.2 管道和重定向 1148.2.1 输出重定向 1148.2.2 输入重定向 1158.2.3 管道 1158.3 shell 脚本的语法 1168.3.1 变量 1178.3.2 程序结构 1188.3.3 函数 1238.3.4 命令及其执行 1238.3.5 调试脚本 1258.4 shell 脚本设计示例 1258.4.1 查看主机网卡流量 1258.4.2 监控CPU 和内存的使用情况 1268.4.3 查找日期为某一天 1268.5 小结 127习题 127第9 章 进程管理 1299.1 进程概述 1309.1.1 进程的概念 1309.1.2 进程ID 1309.1.3 进程调度 1319.2 进程控制 1329.2.1 进程控制块 1329.2.2 进程创建函数(fork) 1339.2.3 进程等待函数(wait) 1389.2.4 waitpid 函数 1399.2.5 vfork 函数 1429.2.6 进程终止函数(exit) 1439.2.7 exec 函数 1459.3 小结 146习题 146第10 章 进程间通信(IPC) 14910.1 进程通信概述 15010.1.1 管道 15010.1.2 信号 15310.1.3 信号的产生方式 15410.1.4 信号的处理方式 15410.2 信号量 15610.2.1 信号量定义 15710.2.2 信号量功能 15710.2.3 使用信号量 16410.3 共享内存 16710.3.1 认识共享内存 16710.3.2 共享内存函数 16810.4 消息队列 17310.4.1 消息队列概述 17410.4.2 消息队列函数 17610.4.3 消息队列编程实例 17910.4.4 ATM 的实现 18310.5 小结 189习题 189第11 章 POSIX 线程 19111.1 认识线程 19211.2 多线程编程 19411.2.1 线程创建函数 19511.2.2 多线程中的线程等待 19811.2.3 线程专有数据 19911.2.4 保证多线程编程中函数的可重入性 20211.3 线程的属性 20311.3.1 常用线程属性 20311.3.2 常用线程属性函数 20511.4 线程的销毁 20611.5 线程的同步 20911.5.1 用信号量进行同步 20911.5.2 用互斥量进行同步 21111.6 聊天室的实现 21411.7 小结 219习题 219第12 章 Linux 网络编程 22112.1 网络编程常识 22212.1.1 TCP/IP 协议概述 22212.1.2 IP 地址与端口 22312.1.3 网络字节序和主机字节序 22412.2 简单的本地通信 22512.2.1 socket 实现本地通信 22612.2.2 相关API 详解 22612.3 socket 实现网络通信 23012.3.1 基于TCP 的网络编程 23012.3.2 相关API 详解 23012.3.3 基于UDP 的网络编程 23412.4 守护进程 23712.4.1 守护进程概念 23712.4.2 守护进程的编写要点 23812.5 多客户通信 24212.6 小结 245习题 246第13 章 Linux 驱动程序和嵌入式基础 24913.1 Linux 驱动程序与嵌入式开发的基础知识 25013.1.1 嵌入式Linux 的特点 25013.1.2 嵌入式Linux 的系统开发平台 25113.1.3 嵌入式Linux 开发的一般流程 25113.1.4 嵌入式Linux 驱动程序 25213.2 Linux 驱动程序与嵌入式开发中的注意问题 25313.2.1 Linux 的内存空间划分 25313.2.2 Linux 的内存管理和IO寻址 25313.2.3 Linux 的时基问题 25413.3 Linux 驱动程序和嵌入式开发的设备类型 25413.3.1 字符设备特点 25513.3.2 块设备特点 25513.4 Linux 嵌入式开发的应用特点 25513.4.1 常用的调试方法 25513.4.2 可移植性问题 25613.5 小结 256习题 257附录 习题答案 259
封面
书名:LINUX C编程完全解密
作者:闫敬、吴淑坤
页数:0
定价:¥69.0
出版社:清华大学出版社
出版日期:2018-04-01
ISBN:9787302531289
PDF电子书大小:64MB 高清扫描完整版
本文标题:《LINUX C编程完全解密》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!