《Linux C程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:青岛农业大学,青岛英谷教育科技股份有限公司编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2017
  • ISBN:9787560644226
  • 页数:257 页
图书介绍:本书从Linux系统出发,以CentOS系统为背景详细介绍了Linux系统开发的环境及编程接口。全书共分为7章,分别介绍了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 TCP/IP协议基础 190

6.2.1 TCP/IP基本概念 190

6.2.2 TCP/IP网络模型 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