《Linux C编程从入门到精通》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘学勇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121174155
  • 页数:477 页
图书介绍:本书系统地介绍了在嵌入式Linux操作系统下用C语言进行程序设计的方法,并通过列举大量的程序实例,使读者很快掌握在Linux操作系统下进行C程序开发的方法和技巧。本书内容丰富,主要包括:Linux基础知识介绍,Linux下的C语言编译器、调试器和程序维护工具的使用方法,C语言基础,Linux下通过C语言进行文件操作和目录操作的方法,标准I/O库函数,进程概念、进程操作以及进程间通信的方法,线程操作,用C语言进行网络编程、数据库编程以及GUI编程的方法等。

第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安装虚拟机软件 4

1.2.3安装Ubuntu 5

1.3 Linux系统的常用命令 5

1.3.1了解Shell 5

1.3.2进入Shell命令行界面 5

1.3.3文件操作命令 7

1.3.4目录及其操作命令 17

1.3.5文件压缩打包命令 26

1.3.6联机帮助命令 28

1.3.7用户操作命令 29

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

1.4小结 32

习题 32

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

2.1 Linux编程简介 34

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

2.3 Linux C语言程序的开发过程 35

2.4编译器gcc的使用 36

2.4.1 Ubuntu下gcc的安装与设置 36

2.4.2 gcc的使用 37

2.5 make工具及使用 40

2.5.1 make命令和Makefile 40

2.5.2 Makefile的规则 43

2.5.3 Makefile中的变量 44

2.5.4伪目标 45

2.5.5条件语句 46

2.5.6调试make 46

2.6使用autoconf 47

2.6.1创建configure脚本 47

2.6.2编写configure.in文件 48

2.6.3使用autoscan创建configure.in文件 49

2.6.4用autoconf创建configure 50

2.6.5更新configure脚本 50

2.7使用automake 50

2.7.1 automake的工作流程 51

2.7.2使用automake生成Makefile.in 51

2.8使用gdb调试程序 52

2.8.1初次使用gdb 53

2.8.2 gdb的基本命令 57

2.8.3 gdb的调用 57

2.8.4 gdb运行模式的选择 59

2.9 IDE工具CodeBlocks 59

2.9.1 CodeBlocks的安装 59

2.9.2 CodeBlocks的使用 59

2.10小结 64

习题 64

第3章Linux下的文件编程 66

3.1概述 66

3.1.1超级块 67

3.1.2索引节点(inode) 68

3.1.3文件类型 69

3.2文件描述符 70

3.3基本文件I/O操作 71

3.3.1 open函数 71

3.3.2 close函数 73

3.3.3 read函数 73

3.3.4 write函数 74

3.3.5 creat函数 74

3.3.6 lseek函数 77

3.4文件高级操作 79

3.4.1文件模式 79

3.4.2确定和改变文件模式 80

3.4.3查询文件信息 85

3.4.4文件其他操作 89

3.4.5目录文件操作 93

3.4.6特殊文件操作 98

3.5小结 102

习题 103

第4章 标准I/O库 104

4.1概述 104

4.2流和FILE对象 104

4.3打开和关闭流 105

4.4读和写流 108

4.4.1字符I/O 109

4.4.2行I/O 111

4.4.3块I/O 112

4.5流文件定位 115

4.6文件结束和错误 119

4.7流缓冲 121

4.8格式化I/O 127

4.8.1格式输出 128

4.8.2格式输入 132

4.9临时文件 136

4.10小结 138

习题 139

第5章 进程操作 140

5.1进程概述 140

5.1.1进程的基本概念 140

5.1.2 Linux进程 140

5.1.3进程的识别号(ID) 141

5.1.4进程调度 141

5.2进程控制 142

5.2.1进程的创建 142

5.2.2 exec函数 148

5.2.3结束进程 154

5.2.4进程等待 155

5.2.5 system函数 159

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

5.2.7进程标识号管理 164

5.3综合应用实例 166

5.4小结 173

习题 174

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

6.1进程间通信机制概述 175

6.1.1信号 175

6.1.2管道 177

6.1.3 System V IPC机制简介 179

6.2信号处理 182

6.2.1信号类型 182

6.2.2处理信号的系统函数 184

6.2.3信号集 190

6.2.4发送信号 197

6.3管道 201

6.3.1基本概念 201

6.3.2管道的创建 202

6.3.3创建管道的简单方法 206

6.3.4命名管道 208

6.4 System V IPC机制 212

6.4.1基本概念 212

6.4.2消息队列 215

6.4.3信号量 223

6.4.4共享内存 231

6.4.5综合应用实例 238

6.5小结 242

习题 242

第7章 线程操作 244

7.1线程概述 244

7.1.1线程的基本概念 245

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

7.2线程管理 245

7.2.1创建线程和结束线程 246

7.2.2挂起线程 249

7.2.3线程同步 250

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

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

7.2.6线程属性 269

7.3小结 274

习题 275

第8章 网络编程 276

8.1概述 276

8.2 TCP/IP基础 277

8.2.1参考模型 277

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

8.3 BSD套接字接口 280

8.4客户机/服务器模式 281

8.5套接字网络编程 282

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

8.5.2套接字地址 284

8.5.3字节顺序 285

8.5.4字节处理函数 287

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

8.5.6其他套接字操作函数 297

8.5.7数据报套接字操作 305

8.6小结 309

习题 309

第9章 数据库编程 311

9.1数据库基本概念 311

9.1.1数据与数据库 311

9.1.2数据库管理系统 312

9.1.3数据库语言 312

9.1.4数据库系统 313

9.1.5主要数据模型 313

9.2 SQL简介 313

9.2.1数据库表格 314

9.2.2数据查询 314

9.2.3创建表格 315

9.2.4向表格中插入数据 316

9.2.5更新记录 316

9.2.6删除记录 316

9.2.7删除数据库表格 317

9.3 MySQL数据库 317

9.3.1 MySQL的安装 317

9.3.2 MySQL管理 319

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

9.4.1连接数据库 329

9.4.2错误处理 332

9.4.3执行SQL语句 333

9.5小结 347

习题 347

第10章Linux下的GTK+/GNOME编程 349

10.1 X Window简介 349

10.1.1 X服务器 349

10.1.2 X协议 350

10.1.3 Xlib库 350

10.1.4 X客户 350

10.2 GTK+/GNOME简介 350

10.3安装GTK+/GNOME库 352

10.4 GTK+编程 352

10.4.1第一个GTK+程序 353

10.4.2数据类型 355

10.4.3信号和事件 355

10.4.4布局管理 359

10.4.5菜单栏和工具栏 365

10.4.6对话框构件 373

10.4.7文本构件 377

10.4.8使用GTK+编写GNOME程序 381

10.5小结 387

习题 387

第11章 综合案例 389

11.1系统框架 389

11.1.1数据格式 390

11.1.2服务器端程序框架 390

11.1.3客户端程序框架 392

11.2程序源代码和说明 393

11.2.1服务器端源代码 393

11.2.2客户端源代码 418

11.3小结 435

第12章 综合案例:绘图与俄罗斯方块游戏 436

12.1 GdkWindow 436

12.2颜色与颜色表 436

12.3绘图区构件和pixmap 438

12.4图形上下文 439

12.5绘图 442

12.6事件 442

12.7基于GDK的绘图程序 444

12.8俄罗斯方块游戏 447

12.8.1 global.h 448

12.8.2 contorl.h和control.c 450

12.8.3 display.h和display.c 461

12.8.4 menu.h和menu.c 464

12.8.5 main.c 467

12.8.6程序运行结果 471

12.9小结 474

附录 习题答案 475