新書推薦:
《
妈妈的情绪,决定孩子的未来
》
售價:NT$
194.0
《
推拿纲目
》
售價:NT$
1836.0
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:NT$
1112.0
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:NT$
347.0
《
血色帝国:近代英国社会与美洲移民
》
售價:NT$
265.0
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:NT$
811.0
《
唐宋绘画史 全彩插图版
》
售價:NT$
449.0
《
“御容”与真相:近代中国视觉文化转型(1840-1920)
》
售價:NT$
505.0
|
內容簡介: |
本书从Linux系统出发,以CentOS系统为背景详细介绍了Linux系统开发的环境及编程接口。全书共分为7章,分别介绍了Linux系统概述、开发环境搭建、文件编程、进程编程、线程编程、网络编程以及数据库编程等内容。
本书重点突出、应用性较强、内容简练、题材新颖、案例详实,理论性与实践性并重,在结合大量实例的基础上对Linux系统编程接口进行了细致的讲解与剖析,既涉及操作系统基本原理,又涉及操作系统接口实现,使读者能够迅速理解并掌握相关知识,全面提高动手能力。
本书可作为高校计算机相关专业的教材使用,也可为有志于从事Linux系统开发工作的研究人员和相关工作者提供理论参考。
|
目錄:
|
第1章 Linux系统概述 1
1.1 Linux系统基本概念 2
1.1.1 Linux系统特点 2
1.1.2 Linux系统架构 3
1.1.3 Linux系统的起源与发展 4
1.1.4 Linux系统内核与发行版本 6
1.1.5 Linux系统市场占有分析 8
1.2 Linux系统与UNIX系统的历史渊源 10
1.2.1 UNIX系统基本概念 10
1.2.2 UNIX系统起源与发展 11
1.2.3 UNIX系统肩上的Linux系统 12
1.3 Linux系统与GNU开源文化 13
1.3.1 GNU基本概念 13
1.3.2 Linux系统与GNU相辅相成 14
1.4 Linux系统程序设计规范 15
1.4.1 Linux系统标准化 15
1.4.2 系统调用和库函数 15
1.4.3 程序设计索引 16
小结 17
习题 18
第2章 开发环境搭建 19
2.1 CentOS操作系统 20
2.1.1 CentOS系统定制安装 20
2.1.2 CentOS首次登录配置 27
2.1.3 CentOS桌面环境介绍 30
2.1.4 CentOS开发工具安装 30
2.2 VIM文本编辑器 34
2.2.1 VIM工作模式 35
2.2.2 VIM操作流程 35
2.2.3 VIM常用命令 36
2.3 GCC程序编译器 38
2.3.1 GCC文件类型 38
2.3.2 GCC编译选项 38
2.4 GDB程序调试器 40
2.4.1 GDB调试命令 41
2.4.2 GDB调试步骤 42
2.5 Make工程管理器 43
2.5.1 Make工具使用 43
2.5.2 Makefile语法规则 43
2.6 Linux C集成开发环境 44
2.6.1 Qt集成开发环境 44
2.6.2 Eclipse集成开发环境 53
小结 57
习题 58
第3章 文件编程 59
3.1 Linux文件系统概述 60
3.1.1 文件管理系统 60
3.1.2 文件IO和标准IO 61
3.1.3 文件描述符 61
3.1.4 流和FILE对象 62
3.1.5 缓冲机制 63
3.2 文件IO 64
3.2.1 函数open 64
3.2.2 函数close 66
3.2.3 函数read 66
3.2.4 函数write 69
3.2.5 函数lseek 71
3.2.6 函数fcntl 72
3.2.7 函数stat 75
3.2.8 函数access 77
3.3 标准IO 77
3.3.1 函数fopen 78
3.3.2 函数fclose 78
3.3.3 函数fgetc 79
3.3.4 函数fputc 79
3.3.5 函数fgets 80
3.3.6 函数fputs 82
3.3.7 二进制文件 82
3.3.8 文件流定位 84
3.3.9 格式化输入输出 84
3.4 目录文件 85
3.4.1 函数mkdir 86
3.4.2 函数rmdir 87
3.4.3 函数opendir 87
3.4.4 函数closedir 88
3.4.5 函数readdir 88
3.4.6 函数getcwd 90
3.4.7 函数chdir 91
3.5 链接文件 92
3.5.1 硬链接 92
3.5.2 软链接 97
3.6 临时文件 99
小结 103
习题 104
第4章 进程编程 105
4.1 Linux文件系统概述 106
4.1.1 进程的基本概念 106
4.1.2 进程运行状态 107
4.1.3 进程状态切换 109
4.1.4 进程启动 110
4.1.5 进程终止 110
4.1.6 程序存储空间布局 111
4.2 进程控制 112
4.2.1 进程标识 112
4.2.2 进程创建 115
4.2.3 父子进程 116
4.2.4 进程资源回收 119
4.2.5 进程体替换 119
4.2.6 调用命令行 122
4.3 进程间通信 124
4.3.1 管道 124
4.3.2 FIFO 126
4.3.3 信号 131
4.3.4 消息队列 134
4.3.5 信号量 140
4.3.6 共享内存 146
4.3.7 内存映射 151
小结 155
习题 156
第5章 线程编程 157
5.1 线程概述 158
5.1.1 线程的基本概念 158
5.1.2 线程与进程 159
5.1.3 Pthreads API背景 160
5.2 线程控制 161
5.2.1 线程标识 161
5.2.2 线程创建 162
5.2.3 线程终止 164
5.3 线程同步 168
5.3.1 同步概念 168
5.3.2 互斥量 170
5.3.3 条件变量 173
5.3.4 信号量 177
小结 180
习题 180
第6章 网络编程 181
6.1 计算机网络基础 182
6.1.1 计算机网络的作用与意义 182
6.1.2 计算机网络的起源与发展 182
6.1.3 计算机网络的覆盖范围 184
6.1.4 计算机网络的拓扑结构 185
6.1.5 OSI参考模型 188
6.2 TCPIP协议基础 190
6.2.1 TCPIP基本概念 190
6.2.2 TCPIP网络模型 192
6.2.3 TCP和UDP协议 193
6.2.4 IP协议 195
6.2.5 字节序 198
6.3 Socket套接字编程基础 198
6.3.1 Socket地址结构 199
6.3.2 Socket地址转换 200
6.3.3 Socket基本属性 202
6.3.4 Socket系统调用 203
6.4 UNIX Domain 206
6.4.1 报文Socket编程模型 206
6.4.2 流式Socket编程模型 209
6.5 Internet Domain 212
6.5.1 UDP编程模型 212
6.5.2 TCP编程模型 216
6.6 网络编程实例 220
6.6.1 基于TCP的文件接收服务器 220
6.6.2 基于TCP的文件发送客户端 224
小结 227
习题 228
第7章 数据库编程 229
7.1 MySQL开发基础 230
7.1.1 MySQL专业术语概述 230
7.1.2 MySQL基本数据类型 231
7.1.3 MySQL开发环境搭建 234
7.1.4 MySQL常用SQL语句 237
7.2 MySQL的C编程接口 243
7.2.1 执行查询语句 243
7.2.2 提取查询结果 247
小结 256
习题 256
参考文献 258
|
內容試閱:
|
随着计算机行业的迅猛发展,企业对应用型人才的需求越来越大。全面贴近企业需求,无缝打造专业实用人才是目前高校计算机专业教育的革新方向。
本书是面向高等院校计算机相关专业的标准化教材,涵盖Linux系统的基本概念、国际标准及编程接口等多方面内容。教材编写充分结合了Linux系统编程接口,经过了成熟的调研和论证,并参照多所高校一线专家的意见,具有系统性、实用性等特点。本书旨在使读者在系统掌握Linux系统基本概念的同时,着重培养他们解决实际问题的能力。
本书内容以培养读者对Linux系统的兴趣,使其熟悉Linux开发环境、掌握Linux编程接口为目标,在原有体制教育的基础上对课程进行改革,重点加强对Linux系统编程接口的学习。读者经过系统的学习后,可以了解车载操作系统的核心技术,掌握车载系统开发环境以及系统核心编程接口,具备投身于车载操作系统研发工作的专业能力,以及对前沿科技发展趋势的敏锐洞察力。
全书共为分7章,内容安排如下:
第1章简要阐述了UNIX系统、Linux系统和GNU开源文化的关系,并对Linux系统的标准化、库函数以及系统调用进行了概述,为后面具体技术的学习奠定了基础。
第2章详述了CentOS系统的安装与配置步骤,系统讲解了VIM文本编辑器、GCC程序编译器、GDB程序调试器以及Make工程管理器的使用,简述了Qt和Eclipse两款图形化程序开发环境的搭建,为后续的编程学习搭建了必要的开发环境。
第3章详细比较了文件IO和标准IO的异同,并详细讲解了二者的使用及接口函数,详述了目录文件、链接文件等特殊文件的操作,对于编程中经常使用的临时文件也有所
涉及。
第4章简要阐述了进程的基本概念、运行状态以及内存空间布局和进程创建、进程加载以及进程资源回收的实现,多方位讲解了进程间的通信方式,主要有管道(有名和无名)、信号、信号量、消息队列、共享内存以及内存映射等。
第5章简述了线程的基本概念,并分析比较了与进程的异同,详述了线程创建、系统终止和线程销毁等核心函数,并进一步挖掘了线程同步技术,包括互斥量、信号量、条件变量等。
第6章简述了计算机网络的基本概念和分类,详细剖析了OSI参考模型和TCPIP实现模型,重点讲解了Socket网络编程模型,并区分了四种不同使用场景:UNIX Domain报文、UNIX Domain字节流、TCP以及UDP。
第7章简述了数据库的基本概念以及相关专业术语,详细讲解了MySQL数据库的安装与配置、MySQL基本数据类型、SQL基本语句、MySQL C开发的函数接口以及编程步骤等。
本书的知识点合理分布于整套教材中,章节间衔接流畅,由浅入深,由总括到细分再总揽全局,理论结合实际,充分满足各类读者的学习需求。同时,为了符合教学要求,本书在结构编排上进行了精心的设计:每章开始前设有学习目标,让读者可以有针对性地学习;同时,每章结束后还有小结和习题,可以加深读者对相关内容的理解和掌握。
本书由青岛农业大学与青岛英谷教育科技股份有限公司编写,参与本书编写的人员有:王蕊、卢玉强、宋乃华、邵舟、邓宇、王燕、宁维巍等。另外,在编写期间得到了青岛农业大学、潍坊学院、曲阜师范大学、济宁学院、济宁医学院等合作院校的专家及一线教师的大力支持和协作。在本书出版之际,特别感谢合作院校的师生给予我们的支持和鼓励,感谢开发团队每一位成员所付出的艰辛劳动与努力。
由于编者水平有限,书中难免有不妥之处,读者在阅读过程中如有发现,可以通过邮箱yinggu@121ugrow.com联系我们,以期不断完善。
|
|