《精通Linux C编程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘学勇,陈建伟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302205265
  • 页数:465 页
图书介绍:Linux具有系统内核小、稳定性高、可扩展性好、对硬件要求低、网络功能强等特点,本书介绍了在Linux操作系统下用C语言进行程序设计的方法,并通过大量程序的实例使读者很快掌握在Linux操作系统下进行C程序开发的方法和技巧,并具备设计大型应用程序的能力。

第1章 Linux基础知识 1

1.1 Linux简介 1

1.1.1 Linux的起源 1

1.1.2 Linux的特点 2

1.1.3 Linux的版本 3

1.1.4 Linux的发展前景 4

1.2 Linux的安装 4

1.2.1发行版本的选择 4

1.2.2基本的硬件要求 5

1.2.3安装步骤 5

1.3 Linux系统的常用命令 11

1.3.1了解Shell 11

1.3.2进入Shell命令行界面 12

1.3.3文件操作命令 13

1.3.4目录及其操作命令 25

1.3.5文件压缩命令 33

1.3.6联机帮助命令 36

1.3.7用户操作命令 37

1.3.8关机和重启计算机命令 39

1.4小结 41

习题 41

第2章Linux下的C语言编程环境 43

2.1 Linux编程简介 43

2.2 Linux下的C语言开发环境 44

2.3编辑器的使用 44

2.3.1 Vi的使用 44

2.3.2 Emacs的使用 49

2.4编译器gcc的使用 52

2.4.1 Ubuntu下gcc的安装与设置 52

2.4.2 gcc的使用 53

2.5 Linux C程序的开发过程 57

2.5.1编辑程序 58

2.5.2编译程序 59

2.6 make工具及其使用 60

2.6.1 make命令和Makefile 60

2.6.2 Makefile的规则 62

2.6.3 Makefile中的变量 63

2.6.4伪目标 65

2.6.5条件语句 65

2.6.6调试make 66

2.7使用autoconf 66

2.7.1创建configure脚本 67

2.7.2编写configure.in文件 67

2.7.3使用autoscan创建configure.in文件 69

2.7.4用autoconf创建configure 69

2.7.5更新configure脚本 70

2.8使用automake 70

2.8.1 automake的工作流程 70

2.8.2使用automake生成Makefile.in 71

2.9使用gdb调试程序 73

2.9.1初次使用gdb 74

2.9.2 gdb的基本命令 78

2.9.3 gdb的调用 78

2.9.4 gdb运行模式的选择 80

2.10小结 81

习题 81

第3章 Linux下的文件编程 83

3.1概述 83

3.1.1超级块 84

3.1.2索引节点(inode) 85

3.1.3文件类型 86

3.2文件描述符 88

3.3基本文件I/O操作 88

3.3.1 open函数 89

3.3.2 close函数 90

3.3.3 read函数 91

3.3.4 write函数 92

3.3.5 creat函数 92

3.3.6 lseek函数 95

3.4文件高级操作 97

3.4.1文件模式 97

3.4.2确定和改变文件模式 98

3.4.3查询文件信息 103

3.4.4文件其他操作 108

3.4.5目录文件操作 112

3.4.6特殊文件操作 117

3.5小结 121

习题 122

第4章 标准I/O库 123

4.1概述 123

4.2流和FILE对象 123

4.3打开和关闭流 124

4.4读和写流 128

4.4.1字符I/O 128

4.4.2行I/O 130

4.4.3块I/O 132

4.5流文件定位 134

4.6文件结束和错误 139

4.7流缓冲 141

4.8格式化I/O 147

4.8.1格式输出 148

4.8.2格式输入 151

4.9临时文件 156

4.10小结 158

习题 159

第5章 进程操作 161

5.1进程概述 161

5.1.1进程的基本概念 161

5.1.2 Linux进程 162

5.1.3进程的识别号(ID) 162

5.1.4进程调度 163

5.2进程控制 164

5.2.1进程的创建 164

5.2.2 exec函数 170

5.2.3结束进程 175

5.2.4进程等待 177

5.2.5 system函数 182

5.2.6进程的用户标识号管理 184

5.2.7进程标识号管理 186

5.3综合应用实例 189

5.4小结 196

习题 197

第6章 进程间通信(IPC) 199

6.1进程间通信机制概述 199

6.1.1信号 200

6.1.2管道 202

6.1.3 System V IPC机制简介 204

6.2信号处理 207

6.2.1信号类型 207

6.2.2处理信号的系统函数 209

6.2.3信号集 216

6.2.4发送信号 222

6.3管道 226

6.3.1基本概念 226

6.3.2管道的创建 227

6.3.3创建管道的简单方法 231

6.3.4命名管道 233

6.4 System V IPC机制 237

6.4.1基本概念 238

6.4.2消息队列 240

6.4.3信号量 249

6.4.4共享内存 258

6.4.5综合应用实例 265

6.5小结 269

习题 269

第7章 线程操作 271

7.1线程概述 271

7.1.1线程的基本概念 272

7.1.2用户态线程与内核态线程 272

7.2线程管理 273

7.2.1创建线程和结束线程 273

7.2.2挂起线程 275

7.2.3线程同步 277

7.2.4取消线程和取消处理程序 288

7.2.5线程特定数据的处理函数 292

7.2.6线程属性 296

7.3小结 302

习题 302

第8章 网络编程 305

8.1概述 305

8.2 TCP/IP基础 306

8.2.1参考模型 307

8.2.2 Linux中TCP/IP网络的层结构 308

8.3 BSD套接字接口 309

8.4客户机/服务器(C/S)模式 310

8.5套接字网络编程 311

8.5.1套接字编程的基本流程 312

8.5.2套接字地址 313

8.5.3字节顺序 315

8.5.4字节处理函数 317

8.5.5面向连接的基本套接字函数 318

8.5.6其他套接字操作函数 327

8.5.7数据报套接字操作 335

8.6小结 340

习题 340

第9章 数据库编程 429

9.1数据库基本概念 343

9.1.1数据与数据库 344

9.1.2数据库管理系统 344

9.1.3数据库语言 345

9.1.4数据库系统 345

9.1.5主要数据模型 345

9.2 SQL语言简介 346

9.2.1数据库表格 346

9.2.2数据查询 346

9.2.3创建表格 347

9.2.4向表格中插入数据 348

9.2.5更新记录 349

9.2.6删除记录 349

9.2.7删除数据库表格 349

9.3 MySQL数据库 350

9.3.1 MySQL的安装 350

9.3.2 MySQL管理 352

9.4用C语言访问MySQL数据库 362

9.4.1连接数据库 363

9.4.2错误处理 366

9.4.3执行SQL语句 367

9.5小结 382

习题 382

第10章 Linux下的GUI编程 385

10.1概述 385

10.1.1 X服务器 386

10.1.2 X协议 386

10.1.3 Xlib库 386

10.1.4 X客户 386

10.2 Xlib编程 387

10.3 GTK+/GNOME编程 393

10.3.1 GTK+/GNOME简介 394

10.3.2 GTK+编程 396

11.3.3使用GTK+编写GNOME程序 408

10.4小结 414

习题 414

第11章 飞机票网络售票系统 417

11.1系统框架 417

11.1.1数据格式 418

11.1.2服务器端程序框架 419

11.1.3客户端程序框架 420

11.2程序源代码和说明 421

11.2.1服务器端源代码 422

11.2.2客户端源代码 447

11.3小结 465