Linux环境C程序设计
塑封消毒 正版书 套装书为单本
¥
8.81
1.3折
¥
69
九品
仅1件
作者徐诚 著
出版社清华大学出版社
出版时间2010-01
版次1
装帧平装
货号嘈杂6
上书时间2024-11-10
商品详情
- 品相描述:九品
- 商品描述
-
二手书不缺页不掉页不影响阅读,部分有笔记划线,没有光盘书签书腰等赠品,套装书为单本。拍下即代表接受该情况描述,不再另做通知,也不接受另外留言备注关于品相的要求。
图书标准信息
-
作者
徐诚 著
-
出版社
清华大学出版社
-
出版时间
2010-01
-
版次
1
-
ISBN
9787302206408
-
定价
69.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
604页
-
字数
977千字
-
正文语种
简体中文
-
丛书
Linux典藏大系
- 【内容简介】
-
Linux操作系统是一种类UNIX完整的操作系统,它不仅功能强大、运行稳定,而且用户可免费使用。《Linux环境C程序设计》由浅入深,循序渐进地讲授在Linux系统下使用C语言进行软件开发的方法。全书内容包括Linux的基本概念和操作方法、C语言编程方法、D-BUS和线程控制、网络协议和LibCurl网络编程、数据库C语言编程接口,以及GTK+界面开发技术,并将许多实际程序开发案例贯穿在全书中。为了便于读者学习,《Linux环境C程序设计》引入实际应用开发中具有一定难度的项目——多媒体软件的开发,希望读者不但能掌握Linux系统C语言开发技术,而且还能获得先进的软件工程思想,具备与国际一流的软件工程师共同工作的能力。
《Linux环境C程序设计》附带1张DVD光盘,内容为专门为《Linux环境C程序设计》录制的7小时教学视频、《Linux环境C程序设计》涉及的源代码、Ubuntu安装光盘的镜像文件和另外赠送的36.5小时Linux专题学习视频。
《Linux环境C程序设计》适合广大软件开发人员、开源软件爱好者和大中专院校学生阅读,尤其适合有一定C语言编程技术的人员使用。
- 【作者简介】
-
徐诚,毕业于华中科技大学计算机通信工程专业。擅长C与C++程序设计,精通Linux内核和相关开发技术。从事Linux系统开发工作多年,拥有丰富的系统开发经验。曾多次在专业期刊发表技术文章,并长期在CSDN担任社区专家。2008年独立开发的基于移动Linux系统的MISSMOBLIN人工智能助手软件,获得了Intel公司举办的YourMove软件大赛中国区的第五名。
高莹婷,获湖北大学电子信息工程专业和法学专业双学士学位。擅长网络协议开发及数据库建模。熟悉Linux系统程序开发和数据库开发。从事卫生系统行业软件开发多年,负责开发了基于Linux系统环境的HIS系统。曾经在多个专业技术期刊发表相关作品百余篇。因工作积极热忱,乐于为大众普及专业知识,2007年被《楚天都市报》和《武汉晨报》评为优秀通信员。
- 【目录】
-
第1篇Linux基础.
第1章Linux系统概述和安装2
1.1引言2
1.1.1GNU项目简介2
1.1.2Linux起源2
1.1.3Linux发展现状3
1.1.4免费软件与开源软件4
1.2Linux内核与版本4
1.2.1Linux内核介绍4
1.2.2Linux所支持的硬件平台5
1.2.3常用Linux版本5
1.3系统安装6
1.3.1安装前准备7
1.3.2系统需求7
1.3.3硬盘分区7
1.3.4图形方式安装Linux8
1.3.5升级最新内核16
1.3.6安装中文支持16
1.4小结16
第2章Linux基本操作17
2.1登录17
2.1.1shell程序17
2.1.2控制台17
2.1.3终端18
2.2文件和目录18
2.2.1文件系统19
2.2.2文件名20
2.2.3路径名20
2.2.4工作目录21
2.2.5起始目录21
2.3输入和输出21
2.3.1文件描述符21
2.3.2标准输入、标准输出和标准错误21
2.3.3标准输入输出函数22
2.4小结22
第3章LinuxGCC/G++编译器与调试器23
3.1GCC/G++编译器23
3.1.1GCC/G++编译器安装23
3.1.2GCC/G++编译命令23
3.1.3GCC/G++编译选项24
3.1.4GCC/G++编译器执行过程24
3.2程序和进程25
3.2.1程序25
3.2.2进程和PID25
3.3ANSIC标准25
3.3.1函数原型26
3.3.2类属指针26
3.3.3原始系统数据类型26
3.4编译helloworld26
3.4.1使用VI编写源代码27
3.4.2程序的编译与连接27
3.4.3使用终端运行程序28
3.5GDB调试器28
3.5.1GDB调试器概述28
3.5.2GDB调试器安装28
3.5.3GDB常用调试命令29
3.5.4在GDB下运行程序29
3.5.5检查数据29
3.6小结30
第4章Linux开发环境31
4.1文本编辑工具31
4.1.1VIM使用方法31
4.1.2Emacs使用方法32
4.2集成开发环境33
4.2.1Eclipse介绍33
4.2.2Kdevelop介绍33
4.3使用Eclipse开发C/C++语言程序34
4.3.1安装与配置Eclipse34
4.3.2Eclipse界面34
4.3.3编译与运行源代码35
4.3.4Debug源代码36
4.4小结37
第2篇C/C++语言基础
第5章C语言编程基础40
5.1程序设计语言的发展40
5.1.1机器语言40
5.1.2汇编语言40
5.1.3高级语言40
5.2C语言的特点41
5.2.1C语言是中级语言41
5.2.2C语言是结构化语言42
5.2.3C语言是程序员的语言42
5.3C语言的程序结构42
5.3.1基本程序结构43
5.3.2函数库和链接44
5.3.3开发一个C语言程序45
5.3.4C语言的关键字45
5.4算法46
5.4.1流程图与算法的结构化描述46
5.4.2用N-S图描述算法48
5.4.3用PAD图描述算法48
5.5软件工程概览48
5.5.1认识软件工程48
5.5.2瀑布模型及其改进50
5.5.3迭代发布模型50
5.5.4朴素软件工程思想51
5.6小结52
第6章数据类型、运算符和表达式53
6.1C语言的数据类型53
6.1.1基本类型的字长与范围53
6.1.2聚合类型与修饰符54
6.2常量与变量55
6.2.1标识符命名55
6.2.2常量55
6.2.3变量56
6.3整型数据56
6.3.1整型常量57
6.3.2整型变量57
6.4浮点型数据58
6.4.1浮点型常量58
6.4.2浮点型变量58
6.5字符型数据58
6.5.1字符常量59
6.5.2字符串常量59
6.5.3转义字符59
6.5.4符号常量60
6.5.5字符变量60
6.6运算符61
6.6.1算术运算符61
6.6.2自增和自减61
6.6.3关系和逻辑运算符62
6.6.4位操作符63
6.6.5问号操作符63
6.6.6逗号操作符64
6.6.7优先级64
6.7表达式65
6.7.1表达式中的类型转换65
6.7.2构成符cast65
6.7.3空格与括号65
6.7.4C语言中的简写形式66
6.8C语言的预处理命令66
6.8.1宏替换命令66
6.8.2终止编译命令67
6.8.3文件包含命令67
6.8.4条件编译命令68
6.8.5修改行号命令69
6.8.6编译指示命令70
6.8.7预定义的宏名70
6.8.8注释71
6.9小结71
第7章程序控制结构72
7.1程序的3种基本结构72
7.2数据的输入与输出72
7.2.1scanf()函数72
7.2.2printf()函数74
7.2.3getchar()函数与putchar()函数75
7.3条件控制语句76
7.3.1if语句76
7.3.2switch语句77
7.4循环控制语句78
7.4.1while语句78
7.4.2do-while语句79
7.4.3for语句80
7.4.4break与continue语句80
7.5媒体播放器——建立程序结构81
7.5.1编写伪代码82
7.5.2建立媒体播放器程序结构82
7.6小结85
第8章数组与指针86
8.1一维数组86
8.1.1一维数组的一般形式86
8.1.2字符串使用的一维数组88
8.2二维数组89
8.2.1二维数组的一般形式89
8.2.2二维字符串数组89
8.3多维数组90
8.4指针与指针变量91
8.5指针变量的定义与引用92
8.5.1指针变量的定义92
8.5.2指针变量的引用93
8.6指针与数组94
8.6.1指针与一维数组94
8.6.2指针与二维数组95
8.6.3指针与字符串数组96
8.7指针的地址分配96
8.8指针数组97
8.9指向指针的指针97
8.10媒体播放器——建立播放列表98
8.10.1建立一个播放列表98
8.10.2对播放列表排序103
8.11小结104
第9章函数105
9.1函数说明与返回值105
9.1.1函数的类型说明105
9.1.2返回语句106
9.2函数的作用域规则107
9.2.1局部变量107
9.2.2全局变量108
9.2.3动态存储变量109
9.2.4静态存储变量110
9.3函数的调用与参数110
9.3.1形式参数与实际参数110
9.3.2赋值调用与引用调用111
9.4递归111
9.5实现问题112
9.5.1参数和通用函数113
9.5.2效率113
9.6函数库和文件113
9.6.1程序文件的大小114
9.6.2分类组织文件114
9.6.3函数库115
9.7main()函数的参数116
9.8媒体播放器——建立核心控制模块117
9.8.1通过函数传递参数117
9.8.2建立媒体播放器核心控制模块120
9.9小结124
第10章字符及字符串处理125
10.1字符编码125
10.1.1ASCII编码125
10.1.2Unicode编码126
10.2字符处理库126
10.3字符串转换函数127
10.4字符串处理函数129
10.5字符串比较函数130
10.6字符串查找函数131
10.7字符串内存函数132
10.8字符串其他函数134
10.9媒体播放器——实现播放列表检索功能134
10.9.1对播放列表中整个字符串进行排序134
10.9.2在播放列表中查找字符串135
10.10小结140
第11章结构体与共用体141
11.1结构体类型变量的定义和引用141
11.1.1结构体类型变量的定义141
11.1.2结构体类型变量的引用142
11.1.3结构体类型变量的初始化143
11.2结构体数组的定义和引用144
11.3结构体指针的定义和引用144
11.3.1指向结构体类型变量的使用145
11.3.2指向结构体类型数组的指针的使用145
11.4共用体146
11.4.1共用体的定义146
11.4.2共用体变量的引用147
11.5媒体播放器——建立媒体库148
11.5.1设计媒体库中的数据结构148
11.5.2媒体库的基本操作151
11.5.3添加文件到媒体库153
11.5.4在媒体库中查找文件155
11.5.5从媒体库删除选定文件157
11.5.6从媒体库删除所有文件158
11.6小结158
第12章C++语言编程基础159
12.1类和数据抽象159
12.1.1用类实现数据抽象159
12.1.2类作用域和访问类成员161
12.1.3从实现中分离接口161
12.1.4控制访问成员162
12.1.5构造函数和析构函数162
12.1.6const对象和const成员函数163
12.1.7friend对象和friend类163
12.1.8this指针165
12.1.9动态内存分配165
12.1.10static类成员165
12.2C++特性166
12.2.1运算符重载166
12.2.2继承167
12.2.3虚拟函数和多态性168
12.2.4流输入与输出169
12.2.5模板169
12.2.6异常处理170
12.3小结170
第3篇Linux系统编程
第13章文件操作172
13.1文件属性与权限172
13.1.1文件属性172
13.1.2文件权限173
13.1.3管理文件权限173
13.2文件管理174
13.2.1系统调用原理174
13.2.2打开文件、新建文件和关闭文件操作174
13.2.3文件状态和属性操作177
13.2.4目录操作179
13.2.5删除目录或文件操作181
13.2.6错误处理182
13.3媒体播放器——增强媒体库功能182
13.3.1添加目录到媒体库183
13.3.2搜索本地磁盘中所有媒体文件184
13.4小结184
第14章文件I/O操作185
14.1非缓冲文件操作185
14.1.1使用read()读取文件185
14.1.2使用write()写入文件186
14.1.3随机读写文件187
14.2缓冲文件操作188
14.2.1打开与关闭文件流188
14.2.2读取与写入文件流189
14.2.3文件流的格式化输入与输出191
14.2.4文件流的定位操作192
14.2.5文件流操作的其他函数193
14.2.6文件流操作的错误处理193
14.3媒体播放器——完善播放列表194
14.3.1读取播放列表文件194
14.3.2将播放列表保存为文件196
14.4小结197
第15章进程控制198
15.1进程的基本概念198
15.1.1进程状态和状态转换199
15.1.2进程控制201
15.1.3进程调度202
15.2进程基本操作202
15.2.1fork系统调用202
15.2.2exec系统调用204
15.2.3exit系统调用205
15.2.4wait系统调用206
15.2.5sleep函数调用207
15.3进程的特殊操作207
15.3.1获得进程ID207
15.3.2setuid和setgid系统调用208
15.3.3setpgrp和setpgid系统调用208
15.3.4chdir系统调用209
15.3.5chroot系统调用209
15.3.6nice系统调用209
15.4小结209
第16章进程间通信210
16.1进程间使用管道通信210
16.1.1pipe系统调用211
16.1.2dup系统调用212
16.2进程间使用D-Bus通信213
16.2.1D-Bus的基本概念213
16.2.2D-Bus的用例214
16.3媒体播放器——完善退出和音量控制功能217
16.3.1媒体播放器在桌面环境退出时响应217
16.3.2调整系统音量218
16.4小结220
第17章线程控制221
17.1线程基本概念221
17.2线程的实现221
17.2.1用户态线程222
17.2.2内核态线程222
17.3POSIX线程库222
17.3.1创建线程222
17.3.2结束线程223
17.4同步226
17.4.1用信号量进行同步226
17.4.2用互斥量进行同步228
17.5取消线程230
17.6多线程的实现231
17.7小结233
第4篇Linux网络编程与数据库编程
第18章网络编程基础236
18.1计算机网络组成236
18.1.1网络结构236
18.1.2OSI参考模型238
18.1.3TCP/IP参考模型238
18.2TCP/IP协议..240
18.2.1IP协议与Internet240
18.2.2IP互联网协议地址241
18.2.3TCP协议242
18.2.4UDP协议243
18.3Socket套接字244
18.3.1Socket套接字简介244
18.3.2创建套接字245
18.3.3套接字地址246
18.3.4套接字的名字247
18.3.5创建套接字队列247
18.3.6接受连接248
18.3.7请求连接248
18.3.8关闭连接249
18.3.9套接字通信249
18.4网络通信251
18.4.1查询主机名称251
18.4.2Internet守护进程253
18.5小结254
第19章网络编程函数库255
19.1HTTP与FTP函数库255
19.1.1libcurl函数库简介255
19.1.2libcurl中的主要函数256
19.1.3使用libcurl实现简单的HTTP访问258
19.2SMTP、POP与IMAP函数库259
19.2.1使用libESMTP函数库实现电子邮件发送260
19.2.2使用libspopc函数库实现POP访问261
19.2.3使用mailutils函数库实现IMAP访问263
19.3即时通信函数库264
19.3.1libpurple函数库简介264
19.3.2即时通信软件工作机制264
19.3.3使用libpurple函数库接入服务器266
19.4小结272
第20章数据库273
20.1数据的存储与访问273
20.1.1使用数据文件273
20.1.2使用数据库277
20.2BerkeleyDB数据包279
20.2.1BerkeleyDB数据包简介279
20.2.2BerkeleyDB数据包连接和使用282
20.2.3BerkeleyDB数据包访问287
20.2.4BerkeleyDB数据包中的游标289
20.3PostgreSQL数据库服务器介绍292
20.3.1PostgreSQL基本概念292
20.3.2数据库连接函数294
20.3.3命令执行函数299
20.3.4检索查询结果函数303
20.4小结306
第21章Linux系统常用数据库及接口307
21.1SQLite数据库307
21.1.1SQLite简介307
21.1.2连接SQLite数据库309
21.1.3SQLite命令执行函数312
21.1.4SQLite检索查询结果函数314
21.2MySQL数据库316
21.2.1MySQL简介316
21.2.2连接MySQL数据库318
21.2.3查询MySQL数据库321
21.2.4处理MySQL查询结果322
21.3大型数据库与通用数据库接口325
21.3.1连接Oracle数据库325
21.3.2通用数据库接口328
21.4媒体播放器——媒体库的数据库实现334
21.4.1建立和连接数据库335
21.4.2建立媒体库数据表336
21.4.3管理媒体库数据表337
21.5小结341
第5篇Linux界面开发
第22章界面开发基础344
22.1Linux常用桌面环境344
22.1.1GNOME桌面环境344
22.1.2KDE桌面环境346
22.1.3移动设备与HILDON桌面环境348
22.2GTK+图形环境介绍349
22.3GLib库介绍350
22.3.1基础类型351
22.3.2对核心应用的支持351
22.3.3实用功能353
22.3.4数据类型353
22.4GObject对象介绍354
22.4.1对象系统355
22.4.2GObject系统中宏定义356
22.4.3GTypeInfo结构358
22.4.4信号机制359
22.52D图形引擎Cairo介绍359
22.6多媒体库GStreamer介绍361
22.6.1过滤器362
22.6.2衬垫363
22.6.3箱柜365
22.6.4精灵衬垫366
22.7搭建GTK+开发环境367
22.8小结370
第23章界面构件开发371
23.1常用界面构件371
23.1.1按钮构件371
23.1.2调整对象374
23.1.3范围构件374
23.1.4标签构件375
23.1.5箭头构件376
23.1.6工具提示对象377
23.1.7进度条377
23.1.8对话框378
23.1.9标尺379
23.1.10状态栏381
23.1.11文本输入构件382
23.1.12微调按钮384
23.1.13组合输入框387
23.1.14日历389
23.1.15颜色选择391
23.1.16文件选择394
23.2复合构件396
23.2.1快捷标签396
23.2.2绘图区399
23.2.3字体选择对话框407
23.2.4消息对话框411
23.2.5图像构件413
23.2.6文本视区417
23.3菜单构件418
23.3.1菜单栏418
23.3.2菜单构件419
23.3.3菜单项421
23.3.4图形菜单项424
23.3.5复选菜单项426
23.3.6单选菜单项428
23.3.7分隔菜单项429
23.4RC文件429
23.4.1使用RC文件430
23.4.2RC文件格式431
23.5小结434
第24章界面布局435
24.1界面布局基本概念435
24.1.1界面的宽度与高度435
24.1.2窗体基本组成437
24.1.3布局约定439
24.2组装盒构件441
24.2.1组装盒的原理441
24.2.2组装盒示范程序442
24.2.3表组装的原理444
24.2.4表组装示例445
24.3容器447
24.3.1事件盒447
24.3.2对齐构件448
24.3.3固定容器450
24.3.4布局容器451
24.3.5框架构件453
24.3.6比例框架455
24.3.7分栏窗体构件456
24.3.8视角构件457
24.3.9滚动条窗体458
24.3.10按钮盒459
24.3.11工具栏462
24.3.12笔记本464
24.4媒体播放器——实现界面469
24.4.1使用原型法设计媒体播放器界面469
24.4.2编写媒体播放器界面代码472
24.5小结481
第25章信号与事件处理482
25.1信号函数与回调函数482
25.1.1信号函数482
25.1.2回调函数486
25.2常用GTK+信号与事件488
25.2.1GtkObject类信号488
25.2.2GtkWidget界面构件信号489
25.2.3GtkWindow窗体构件信号498
25.2.4GtkContainer容器构件信号499
25.2.5GtkCalendar日历构件信号499
25.2.6GtkTextView文本视区构件信号500
25.3小结501
第26章Glade设计程序界面502
26.1Glade简介502
26.2构造图形界面503
26.2.1添加窗体503
26.2.2添加容器509
26.2.3添加构件516
26.2.4设置构件属性519
26.2.5添加事件和回调520
26.3C语言代码联编522
26.3.1libglade函数库编程基础522
26.3.2使用libglade多语言支持524
26.4小结528
第6篇Linux环境C编程项目实践
第27章媒体播放器——项目完整实践530
27.1软件工程实战530
27.1.1项目需求分析530
27.1.2软件需求说明531
27.1.3项目视图的解决方案532
27.2软件设计533
27.2.1需求分析533
27.2.2制订开发计划534
27.2.3分工协作535
27.3版本控制536
27.3.1CVS服务器配置536
27.3.2CVS服务器管理537
27.4在Eclipse中使用CVS客户端540
27.4.1从CVS服务器签出模块并创建项目541
27.4.2签入文件543
27.4.3使用Eclipse项目创建CVS模块544
27.4.4比较文件545
27.4.5管理CVS服务器545
27.4.6断开项目与CVS服务器之间的关联546
27.5音量控制对话框547
27.5.1创建对话框547
27.5.2添加垂直比例尺547
27.5.3测试548
27.6播放列表对话框550
27.6.1创建对话框550
27.6.2创建工具条和工具条按钮551
27.6.3创建树视图552
27.6.4创建对话框按钮553
27.6.5测试553
27.7媒体库对话框554
27.7.1创建对话框555
27.7.2创建工具条和工具条按钮555
27.7.3创建分类部件和媒体信息显示部件557
27.7.4创建搜索部件559
27.7.5创建对话框按钮559
27.7.6测试560
27.8播放控制模块实现562
27.8.1播放控制模块程序结构562
27.8.2MP3播放功能实现564
27.8.3播放中的回调处理567
27.9系统集成569
27.10主程序文件实现570
27.10.1头文件和主函数入口570
27.10.2媒体库模块初始化571
27.10.3图形界面初始化571
27.10.4退出前清理572
27.10.5编译和运行572
27.11媒体库功能集成572
27.11.1初始化573
27.11.2显示媒体库对话框573
27.11.3添加文件580
27.11.4添加目录582
27.11.5删除文件信息584
27.11.6删除所有文件信息585
27.11.7搜索本地文件586
27.11.8传递到播放列表587
27.11.9查找589
27.12播放列表功能集成590
27.12.1初始化590
27.12.2显示播放列表对话框591
27.12.3添加文件593
27.12.4添加目录595
27.12.5打开文件596
27.12.6保存文件597
27.12.7删除文件598
27.12.8删除全部600
27.12.9排序600
27.13播放控制模块集成601
27.13.1播放模式设置601
27.13.2开始播放602
27.13.3暂停播放603
27.13.4停止播放603
27.13.5播放上一首603
27.13.6播放下一首604
27.14小结605
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价