首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 操作系统 >

Linux编程从入门到精通(附DVD-ROM)

2010-04-07 
基本信息·出版社:化学工业出版社 ·页码:391 页 ·出版日期:2009年08月 ·ISBN:7122056880/9787122056887 ·条形码:9787122056887 ·版本:第1版 · ...
商家名称 信用等级 购买信息 订购本书
Linux编程从入门到精通(附DVD-ROM) 去商家看看
Linux编程从入门到精通(附DVD-ROM) 去商家看看

 Linux编程从入门到精通(附DVD-ROM)


基本信息·出版社:化学工业出版社
·页码:391 页
·出版日期:2009年08月
·ISBN:7122056880/9787122056887
·条形码:9787122056887
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:程序员书库

内容简介 《Linux编程从入门到精通》:随着Linux平台的广泛使用,与之相关专业的应用开发正变得越来越重要。本书由浅入深,系统地介绍了在Linux平台下使用C语言进行程序开发的技术,通过丰富的编程实例,使读者可以快速掌握Linux平台下应用C语言进行开发的技能。
本书共分为4篇21章,详细讲解了如何在Linux环境下进行C语言的开发。第一篇介绍了Linux的系统环境,主要包括Linux系统简介和shell环境等内容;第二篇介绍了C语言及编程环境,主要包括C语言简介,vi编辑器、gcc编译器、make的使用,程序调试和创建与使用库等内容;第三篇介绍了输入输出及进程管理,主要包括文件操作,标准输入输出库,界面程序设计——QT、GTK+、进程、信号等内容;第四篇介绍了进程间通信及网络编程,主要包括进程间通信——管道、消息队列、共享内存、信号量,Linux网络环境,基本套接口编程和综合实例——银行代理收费服务器等内容。
本书适合没有编程基础的C语言初学者作为入门教程,也可作为大、中专院校师生和培训班的教材。对于Linux下C语言开发的爱好者,本书也有较大的参考价值。
作者简介 本丛书的作者团队对计算机程序设计类图书市场有很好的敏感性,对出版动态有准确的把握,对计算机技术的发展进行长期跟踪。该团队长期以来致力于计算机图书的内容提供和策划,已经出版的多个系列图书都在计算机图书市场上有良好的口碑,都曾经引领了当年的计算机程序设计畅销书。
目录
第一篇 系统环境
第1章 Linux系统概述 2
1.1 计算机操作系统简介 2
1.1.1 操作系统的概念 2
1.1.2 操作系统的基本功能 3
1.1.3 主要操作系统介绍 3
1.2 Linux操作系统介绍 4
1.2.1 Linux的来源 4
1.2.2 什么是Linux 5
1.2.3 Linux的特性及优点 7
1.2.4 为什么要选择Linux 8
1.2.5 内核的组成 8
1.3 主流Linux操作系统及发行版本 10
1.3.1 Linux内核的版本 10
1.3.2 Linux的发行版本 10
1.4 小结 11
第2章 shell环境 12
2.1 shell介绍 12
2.1.1 shell的种类 12
2.1.2 如何进入shell 13
2.1.3 如何使用shell 14
2.2 shell编程基础 15
2.2.1 创建和运行shell脚本程序 15
2.2.2 shell环境变量 16
2.2.3 常用的shell命令 18
2.2.4 管道与重定向的使用 19
2.2.5 shell变量的使用 21
2.2.6 shell运算符的应用 22
2.2.7 在shell脚本中进行条件控制 23
2.2.8 在shell脚本中使用for循环 25
2.2.9 在shell脚本中使用while循环 26
2.2.10 在shell脚本中使用until循环 27
2.2.11 在shell脚本中使用函数 27
2.3 综合实例 28
2.3.1 实例需求 28
2.3.2 系统设计 28
2.3.3 程序代码 28
2.4 小结 33
第二篇 C语言及编程环境
第3章 C语言简介 36
3.1 C语言概述 36
3.1.1 C语言的发展简史 36
3.1.2 C语言的特点 37
3.2 C语言的组成元素 37
3.2.1 字符集 37
3.2.2 标识符 38
3.2.3 关键字 38
3.2.4 常量的类型 38
3.2.5 变量的类型 39
3.2.6 变量的存储类型 40
3.2.7 变量的作用域 42
3.2.8 运算符 42
3.2.9 注释方法 43
3.3 语句与控制结构 43
3.3.1 表达式语句的组成 43
3.3.2 复合语句 44
3.3.3 函数调用语句 44
3.3.4 控制语句 44
3.3.5 循环控制语句 47
3.3.6 转移语句 48
3.4 函数与程序结构 48
3.4.1 库函数 48
3.4.2 用户自定义函数 49
3.5 数组 49
3.5.1 一维数组的定义和使用 49
3.5.2 多维数组的定义和使用 50
3.6 结构 52
3.6.1 结构的定义 52
3.6.2 结构成员的引用 53
3.7 指针 53
3.7.1 指针的概念 54
3.7.2 指针的定义和使用 54
3.7.3 指针变量的运算 55
3.8 综合实例 56
3.8.1 冒泡排序算法原理 56
3.8.2 冒泡排序算法实现 56
3.9 小结 58
第4章 vi编辑器 59
4.1 vi编辑器概述 59
4.1.1 vi的启动 59
4.1.2 vi的操作方式 59
4.1.3 vi编辑器的功能键 60
4.1.4 退出vi编辑器 61
4.2 vi编辑器的命令 62
4.2.1 光标移动命令 62
4.2.2 滚动屏幕命令 62
4.2.3 文本编辑命令 63
4.2.4 文本删除命令 63
4.2.5 文本修改命令 64
4.2.6 文本移动命令 64
4.2.7 搜索命令 65
4.2.8 ex转义命令 65
4.3 vi编辑器的选项 66
4.3.1 选项的含义 66
4.3.2 选项的设置方式 67
4.4 小结 68
第5章 gcc编译器 69
5.1 编译过程简述 69
5.1.1 预编译过程 69
5.1.2 编译的过程 71
5.1.3 优化及汇编的过程 71
5.2 链接过程简述 72
5.2.1 链接的过程 72
5.2.2 静态链接与动态链接 73
5.3 gcc编译器简述 73
5.3.1 程序的编译与链接 74
5.3.2 gcc编译器的工作过程 74
5.4 gcc编译器语法 75
5.4.1 常用语法 75
5.4.2 用gcc编译器生成可执行文件 76
5.4.3 用gcc编译器生成动态链接库 76
5.4.4 如何使用动态链接 77
5.4.5 gcc编译器常见错误排除 78
5.5 小结 78
第6章 make的使用 79
6.1 makefile介绍 79
6.2 makefile的书写规则 80
6.2.1 基本语法规则 80
6.2.2 定义变量 80
6.2.3 环境变量 81
6.2.4 通配符的使用 81
6.2.5 使用条件判断 82
6.2.6 在makefile中使用函数 82
6.2.7 使用make与直接使用gcc脚本的区别 84
6.3 make工具 84
6.3.1 运行make命令 84
6.3.2 make命令的工作过程 85
6.3.3 在makefile中使用伪目标 85
6.3.4 make命令的返回值 86
6.4 综合实例 86
6.4.1 makefile应用的环境 86
6.4.2 makefile的实现及解释 86
6.5 小结 87
第7章 程序调试 88
7.1 错误处理 88
7.1.1 使用标准错误输出 88
7.1.2 使用errno全局变量 89
7.1.3 使用错误信号处理 90
7.1.4 使用assert断言 91
7.1.5 内存泄露的检查 92
7.1.6 其他可能的内存错误 93
7.2 gdb介绍 94
7.2.1 利用gdb调试的前提 94
7.2.2 启动gdb的方法 94
7.2.3 gdb的基本功能 95
7.3 使用gdb进行调试实例 97
7.4 小结 98
第8章 创建与使用库 99
8.1 函数库介绍 99
8.1.1 系统函数库的使用 99
8.1.2 用户自定义函数库的创建和使用 100
8.2 库函数与系统调用 102
8.2.1 系统调用介绍 103
8.2.2 库函数介绍 104
8.3 动态库的创建与使用 105
8.4 综合实例 108
8.5 小结 109
第三篇 输入输出及进程管理
第9章 文件操作 112
9.1 Linux文件系统简述 112
9.1.1 逻辑磁盘分区管理 112
9.1.2 文件系统的建立与挂载 114
9.1.3 虚拟文件系统 117
9.1.4 ext2文件系统 117
9.1.5 文件类型 119
9.1.6 文件权限管理 120
9.2 文件基本操作 125
9.2.1 文件编程的基本概念 125
9.2.2 文件的创建与打开 126
9.2.3 文件的读写 130
9.2.4 文件的关闭与删除 133
9.2.5 文件的随机存取 135
9.3 文件安全编程 137
9.3.1 文件的属主及用户组编程 137
9.3.2 设置文件权限(UGO模式) 139
9.3.3 设置文件权限(ACL模式) 141
9.4 文件属性编程 145
9.5 目录编程 148
9.6 综合实例 152
9.6.1 ELF文件格式 152
9.6.2 程序实现 152
9.7 小结 156
第10章 标准输入输出库 157
10.1 标准I/O的基本概念 157
10.1.1 流 157
10.1.2 缓存 158
10.1.3 标准输入、标准输出及标准错误输出 160
10.2 使用标准I/O进行文件操作 162
10.2.1 打开关闭流文件 162
10.2.2 单字符方式读写 162
10.2.3 行方式读写 164
10.2.4 二进制方式读写 166
10.2.5 格式化输入/输出 168
10.2.6 在流文件中定位 170
10.3 综合实例 171
10.4 小结 174
第11章 界面程序设计——Qt 175
11.1 Qt简述 175
11.1.1 Qt的组成 175
11.1.2 Qt的优点 175
11.2 Qt开发包的安装 176
11.3 Qt集成开发环境介绍 177
11.3.1 启动设计器 177
11.3.2 设计器界面元素介绍 178
11.4 Qt程序开发 179
11.4.1 建立新项目 179
11.4.2 设计窗口 179
11.4.3 添加事件处理程序 181
11.4.4 添加主程序 182
11.5 Qt程序的生成 183
11.6 小结 184
第12章 界面程序设计——GTK+ 185
12.1 GNOME与KDE 185
12.1.1 Linux图形界面原理 185
12.1.2 X协议 185
12.1.3 GNOME与KDE 的启动 186
12.1.4 GNOME与KDE的区别 187
12.2 使用GTK+进行开发 187
12.2.1 GTK+的安装 187
12.2.2 GTK+程序的初始化与退出 187
12.2.3 GTK+的事件处理 188
12.2.4 使用GTK+实现HelloWorld 189
12.2.5 编译GTK+程序 191
12.2.6 在GTK+中使用控件 191
12.3 综合实例 192
12.3.1 实例需求 192
12.3.2 实例代码及解释 192
12.4 小结 194
第13章 进程 195
13.1 进程的基本概念 195
13.1.1 进程的属性 195
13.1.2 进程的内存映像 197
13.1.3 进程组 198
13.1.4 进程的会话 199
13.1.5 进程的控制终端 201
13.1.6 进程的状态 202
13.1.7 进程的优先级 204
13.2 进程的运行环境 206
13.2.1 进程的入口函数 206
13.2.2 进程的环境变量 211
13.2.3 进程的内存分配 213
13.3 进程的创建 214
13.3.1 调用fork创建进程 214
13.3.2 调用exec系列函数执行程序 216
13.3.3 调用system创建进程 219
13.4 进程的终止 220
13.4.1 调用exit退出进程 220
13.4.2 调用wait等待进程退出 220
13.5 小结 222
第14章 信号 223
14.1 信号的基本概念 223
14.1.1 信号的定义 223
14.1.2 信号的来源 224
14.1.3 信号的分类 224
14.2 信号的安装及处理 226
14.2.1 信号的处理方式 226
14.2.2 用signal安装信号 226
14.2.3 用sigaction安装信号 228
14.2.4 信号的阻塞处理 230
14.2.5 信号集的操作 232
14.2.6 未决信号的处理 233
14.2.7 等待信号 234
14.2.8 信号处理函数的实现 236
14.3 信号的发送 238
14.3.1 使用kill发送信号 238
14.3.2 使用sigqueue发送信号 239
14.4 SIGALRM信号 240
14.4.1 安装SIGALRM信号 240
14.4.2 设置定时器 241
14.5 SIGCLD信号 242
14.5.1 子进程的退出过程 242
14.5.2 SIGCLD信号的处理 243
14.6 小结 244
第四篇 进程间通信(IPC)及网络编程
第15章 进程间通信——管道 246
15.1 进程间通信概念 246
15.2 管道的概念及分类 247
15.2.1 管道的概念及特点 247
15.2.2 管道的分类 248
15.3 管道编程 249
15.3.1 创建管道 249
15.3.2 读写管道 251
15.3.3 关闭管道 253
15.3.4 管道I/O 253
15.4 命名管道编程 255
15.4.1 创建管道 255
15.4.2 打开管道及读写 257
15.4.3 管道的删除 259
15.5 小结 259
第16章 进程间通信——消息队列 260
16.1 System V进程间通信概述 260
16.1.1 Shell环境控制IPC 260
16.1.2 进程间通信关键字 262
16.1.3 进程间通信标识符 262
16.1.4 IPC权限许可结构 263
16.2 消息队列基本概念 264
16.2.1 队列 264
16.2.2 消息 264
16.2.3 消息队列 265
16.3 消息队列编程 266
16.3.1 键值生成函数 266
16.3.2 创建消息队列 267
16.3.3 消息发送 270
16.3.4 消息接收 272
16.3.5 控制消息队列 274
16.4 小结 276
第17章 进程间通信——共享内存 277
17.1 共享内存基本概念 277
17.1.1 共享内存编程模型 277
17.1.2 共享内存的映射 277
17.1.3 共享内存数据结构 278
17.2 共享内存编程 279
17.2.1 创建共享内存 279
17.2.2 映射共享内存 281
17.2.3 删除共享内存映射 282
17.2.4 控制共享内存 283
17.3 小结 285
第18章 进程间通信——信号量 286
18.1 PV操作原理 286
18.1.1 PV操作的来源 286
18.1.2 PV操作的定义 287
18.1.3 PV操作的应用 288
18.2 信号量基本概念 290
18.2.1 Linux信号量简介 290
18.2.2 信号量的控制结构 291
18.3 信号量编程 291
18.3.1 创建信号量 291
18.3.2 信号量操作 293
18.3.3 信号量控制 296
18.4 综合实例——利用信号量实现生产者-消费者模型 299
18.4.1 需求 300
18.4.2 需求分析与设计 300
18.4.3 实现代码及分析 300
18.5 小结 303
第19章 Linux网络环境 304
19.1 计算机网络基础 304
19.1.1 计算机网络分类 304
19.1.2 网络拓扑结构 305
19.1.3 网络通信协议 306
19.1.4 OSI参考模型 307
19.2 TCP/IP协议概述 309
19.2.1 TCP/IP分层模型 309
19.2.2 TCP/IP协议族 310
19.2.3 网络地址 311
19.2.4 端口 313
19.3 客户机/服务器模型 314
19.4 传输控制协议 316
19.4.1 连接建立 316
19.4.2 连接关闭 316
19.4.3 TCP数据报格式 318
19.5 用户数据报协议 319
19.6 小结 319
第20章 基本套接口编程 320
20.1 套接口编程简述 320
20.1.1 半相关与全相关 321
20.1.2 地址族与协议族 321
20.1.3 面向连接与面向无连接 322
20.1.4 套接口类型 322
20.1.5 字节序 323
20.1.6 套接口连接方式 324
20.1.7 数据传输方式 325
20.2 套接口数据结构 326
20.2.1 套接口地址结构 326
20.2.2 通用套接口地址结构 327
20.2.3 主机名称数据结构 327
20.2.4 服务名称数据结构 329
20.2.5 通用数据收发结构 330
20.3 基本套接口函数 331
20.3.1 字节操作函数 331
20.3.2 字节序操作函数 333
20.3.3 地址转换函数 334
20.3.4 套接口函数 337
20.4 套接口选项 352
20.4.1 套接口选项函数 352
20.4.2 SO_KEEPALIVE选项 352
20.4.3 SO_LINGER选项 353
20.4.4 SO_RCVBUF和SO_SNDBUF选项 355
20.4.5 SO_RCVTIMEO和SO_SNDTIMEO选项 356
20.4.6 SO_REUSEADDR和SO_REUSEPORT选项 357
20.5 TCP套接口编程 357
20.5.1 重复服务器编程 357
20.5.2 并发服务器编程 357
20.6 UDP套接口编程 362
20.6.1 UDP编程模型 363
20.6.2 UDP客户/服务器编程 363
20.7 小结 366
第21章 综合实例——银行代理收费服务器 367
21.1 程序需求 367
21.2 程序实现 367
21.3 小结 379
附录 Linux下常见C函数字母索引 380
……
序言 出版者的话
近年来我国IT产业发展迅猛,IT从业人数也不断增多,越来越多的人开始学习计算机技术。而作为计算机核心技术之一的程序设计更是受到了很多人的青睐,尤其是年轻人。如今很多年轻人开始学习编程,以使得自己在未来的职业生涯中更有竞争力。
但很多人刚开始学习时总觉得不得要领,感觉有一堵无形的墙竖在面前而无法逾越。究其原因是学习方法或者思路有问题所致。作为自学人员,学编程首先需要一本好书,适合自己阅读的书,这样才不至于走弯路,学习效果也好。然而图书市场上的图书虽然很多,但要真想找本很好的入门编程书却并不容易,很多书都是写给专家看的,把真正需要学习的人都给挡在了门外。基于这种原因,我们策划了这套《程序员书库》丛书,希望能降低读者学习编程的门槛,带领读者快速跨入编程的大门。
丛书包含书目
《Java从入门到精通》
《C++从入门到精通》
《PHP从入门到精通》
《Visual C++从入门到精通》
《Visual Basic从入门到精通》
《ASP.NET从入门到精通》
《Linux编程从入门到精通》
《JavaScript从入门到精通》
《CSS从入门到精通》
《ActionScript 3.0从入门到精通》
《Excel VBA从入门到精通》
《SQL Server 2008从入门到精通》
丛书主要特色
1.由浅入深讲解到位,轻松入门
本丛书对内容的讲解都是从最基本的配置和概念讲起,然后层层深入,最后还安排了综合案例,很适合读者学习,可以达到轻松入门、快速提高的效果。
2.程序代码详尽注释,易于理解
书中给出了典型的程序代码,而且对这些代码都进行了详尽的注释,读者阅读起来很容易理解,这对理解编程有很大的帮助。
3.以大量实例为示范,快速掌握
无论是对基本的语法讲解,还是应用开发,书中都列举了大量实例,最后还提供了综合实例,非常实用,读者可以通过这些例子很快掌握所学内容,学习效果好。
4.多媒体视频讲解,加速学习
丛书的每本书都配专门制作的多媒体学习光盘,方便读者学习,另外也提供了书中所涉及的源代码,以方便读者使用。
5.完善的售后服务,后顾无忧
本丛书提供技术论坛(http://www.rzchina.net)和QQ群(QQ群号:21948169)答疑,读者可以在上面提问和交流。
丛书适合的读者对象
本丛书定位于如下没有编程基础的入门人员。
? 自学编程的入门人员。
? 各类程序设计爱好者。
? 想学习一门技术以便找工作的人员。
? 做课题设计和毕业设计的学生。
? 需要迅速掌握一门编程语言的人员。
? 大中专院校或电脑学校的学生。
学习建议
学习编程并不是想象的那么难,关键是要有合适的教程和正确的学习方法。如果您已经选择了这套书,那么恭喜您已经解决了第一个问题。但我们还有如下建议。
? 入门人员自然按书中安排的顺序阅读最好。
? 如果你有一定的基础,那也不妨跳跃式阅读,选择阅读。
? 先弄懂书中的内容,然后可以适当拓展。
? 要勤思考,多动手,必要时一定要上机操作。
? 要学会利用网络资源,经常光顾各技术论坛,有不懂的地方可以利用百度来搜索解决方法。
希望这套书能成为您初学编程的良师益友,能带您轻松跨入编程的大门,并逐步成为编程高手。

文摘 Linux操作系统是由Linus Torvalds于1991年开发的,经过十几年的发展,目前已经成为全球最受欢迎的操作系统之一。Linux在服务器领域和桌面应用中都有杰出的表现,大至规模庞大的数据中心,小至可以置于掌心的手持设备,都可以看到Linux的身影。掌握Linux平台下的程序设计技术,是一个优秀程序员的必修课。
要学习好Linux平台下的程序设计技术,关键是选择一本正确的入门书籍。目前市面上关于Linux的编程书籍很多,但许多书不是专门为初学者写的,因此,对初学者而言,会觉得内容过多过深,难以掌握。
为了使Linux平台编程的初学者少走弯路,快速而熟练地掌握Linux编程技术,笔者总结自身十多年的Linux应用开发经验,向广大读者奉献本书。书中结合大量生动翔实的代码实例,使读者在学习理论知识的同时,能够灵活地与实践相结合,达到迅速掌握编程技巧的目的。
本书特点
相比同类图书,本书具有以下明显特色。
1.内容翔实,重点突出
本书从初学者的角度出发,全面介绍了Linux环境下C语言编程的基础知识。本书涉及了Linux环境下编程的方方面面,在讲解过程中并不是泛泛地列举知识点,而是在对知识点进行介绍的同时,选择当前最热门、应用最广的一些技术进行了深入的讨论。
2.概念准确,易于理解
作为一本Linux环境下C语言编程的入门图书,书中概念描述准确,让读者易于理解。本书对每个概念都使用准确而且精炼的语言总结,并结合丰富的插图,使读者易于理解编程概念。
3.实例丰富,强调实践
为了让读者易于掌握Linux环境下C语言编程的技巧,本书列举了大量实例进行讲解。通过这些实例,读者便可更加深入地理解相关概念,从而达到熟练掌握Linux环境下程序设计技术的目的。另外,本书重点强调实践性,本书中的很多例子都来源于编者的实际开发,大多数实例都来源于实际项目。通过对这些例子的学习,可以增强读者的动手能力。
4.代码规范,注释丰富
本书中程序源代码结构清晰,语句简洁,体现了良好的编码风格,有利于读者养成良好的编写代码习惯。
本书内容
本书共分为四篇,从理论介绍到具体实践,循序渐进地讲述了Linux系统下C语言的编程技术。
第一篇(第1章~第2章)介绍了Linux操作系统和Shell编程环境。
第二篇(第3章~第8章)介绍了C语言及其编程环境,包括C语言的常见内容以及常见的vi编辑器和gcc编译器,最后还详细分析了make的使用、程序调试、创建与使
……
热点排行