图书介绍

GNU/LINUX环境编程 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

GNU/LINUX环境编程 第2版
  • (美)琼斯著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302220657
  • 出版时间:2010
  • 标注页数:530页
  • 文件大小:170MB
  • 文件页数:547页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

GNU/LINUX环境编程 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第Ⅰ部分 导论3

第1章 GNU/Linux的历史3

概述3

Unix操作系统的历史3

AT&T UNIX4

BSD4

GNU/LINUX的历史4

GNU和自由软件基金会5

Linux内核5

合作6

Linux的发行7

小结7

参考文献7

第2章 GNU/Linux系统架构9

概述9

系统架构概要9

Linux内核的架构10

GNU系统库(glibc)11

系统调用接口11

内核组件12

硬件15

小结16

资源16

第3章 自由软件开发17

概述17

开放源码与自由软件17

自由软件项目剖析18

开源证书18

GPL19

Qt公共许可证19

BSD许可证20

证书小结20

开源开发的问题20

可用性/可靠性斜线上升20

文档问题21

自我21

狂热21

小结22

参考文献22

资源22

第4章 Linux虚拟化与仿真23

概述23

什么是虚拟化?23

虚拟化简史24

虚拟化的意义26

虚拟化的分类27

完全虚拟化27

准虚拟化27

模拟28

操作系统的虚拟化29

硬件辅助虚拟化30

开源虚拟化解决方案31

QEMU31

KVM34

小结35

第Ⅱ部分 GNU工具39

第5章 GNU编译工具链39

概述39

编译简介40

GCC的格式(编译,汇编和链接)41

有用的选项41

编译警告42

GCC优化器44

-O0优化45

-O1优化(-O)45

-O2优化45

-Os优化46

-O3优化46

架构相关的优化47

调试选项48

其他工具48

小结49

第6章 应用GNU make构建软件50

概述50

示例项目50

手工编译51

buildit脚本51

简单的Makefile文件52

Makefile变量54

模式匹配规则57

自动依赖跟踪58

小结60

第7章 库的构建与使用61

概述61

什么是库?61

生成静态库62

共享库的生成68

动态加载库69

工具73

file工具73

size命令73

nm命令73

objdump工具74

ranlib工具76

小结76

动态库API76

第8章 用automake/autoconf打包77

概述77

一个简单的项目78

Makefile解决方案78

自动工具的简单运用79

automake工具81

autoconf工具82

configure脚本83

生成的Makefile文件84

小结85

第9章 GNU/Linux的源码控制86

概述86

源码控制的定义86

源码控制范例87

存储库的架构87

修订模型88

有用的源码控制工具89

CVS89

SVN94

Git源码控制系统99

小结104

参考文献105

资源105

第10章 应用Gnuplot进行数据可视化106

概述106

Gnuplot106

安装Gnuplot107

用户界面107

简单绘图108

绘制文件中的数据110

3D的函数绘制111

3D等值线绘图114

隐线消除114

将图保存为文件115

多图模式116

使用Gnuplot的工具117

小结117

资源118

第Ⅲ部分 应用程序开发主题123

第11章 GNU/Linux的文件操作123

概述123

GNU/Linux的文件操作123

探究文件操作API124

创建一个文件句柄124

打开文件124

数据的读写126

二进制数据的读写133

基础API138

小结140

文件操作API141

第12章 管道编程142

概述142

管道模型142

管道和命名管道143

旋风式简介143

详细介绍145

pipe函数145

函数dup和dup2147

函数mkfifo149

系统命令150

mkfifo命令150

小结151

管道编程API151

第13章 套接字编程简介152

概述152

网络的分层模型152

套接字编程的范式153

主机154

协议154

端口154

地址154

套接字155

客户端/服务器模式155

应用程序示例156

日期查询服务器157

日期查询客户端160

套接字API小结161

创建和清除套接字161

套接字地址162

套接字的原语163

其他“杂项”函数168

其他传输协议169

SCTP的特点169

SCTP的特点其他171

多语言视角171

小结173

套接字编程API173

参考文献174

资源174

第14章 GNU/Linux进程模型175

概述175

GNU/Linux进程175

旋风式简介176

用fork创建一个子进程177

与创建者进程同步179

捕获信号180

发出信号181

传统的进程API184

fork函数185

wait函数186

waitpid函数187

signal函数188

pause函数192

kill函数192

raise函数193

exec变体194

alarm函数197

exit函数198

POSIX信号199

系统命令202

ps命令202

top命令203

kill命令203

小结204

proc文件系统204

资源206

API小结206

第15章 POSIX线程(P线程)编程207

概述207

什么是线程208

线程函数基础209

P线程API209

线程基础210

线程管理211

线程的同步212

线程互斥214

线程条件变量218

构建使用线程的应用程序224

小结225

参考资料225

API小结225

第16章 消息队列IPC227

概述227

消息队列简介227

创建消息队列228

配置一个消息队列229

向一个消息队列中写入消息230

从消息队列中读取消息231

移除消息队列232

消息队列API233

msgget函数233

msgctl函数236

msgsnd函数240

msgrcv函数241

用户工具243

小结245

消息队列API函数245

第17章 旗语同步246

概述246

旗语理论246

旗语的类型247

GNU/Linux旗语快速简介248

创建旗语249

获取和释放旗语250

配置旗语253

移除旗语254

旗语API255

semget函数256

semctl函数258

semop函数264

用户工具266

小结268

旗语API268

第18章 共享内存编程269

概述269

快速了解共享内存270

创建共享内存区段270

取得共享内存区段的信息271

共享内存区段的挂接和脱离272

使用共享内存区段273

移除共享内存区段275

共享内存API276

shmget函数276

shmctl函数279

shmat函数283

shmdt函数284

使用共享内存区段285

用户工具289

小结290

参考文献290

共享内存API291

第19章 高级文件操作292

概述292

测试文件类型292

其他stat信息294

确定当前工作目录295

列举目录296

使用inotify进行文件事件通知299

通知过程299

从文件系统中移除文件304

传输数据305

小结305

高级文件操作API305

第20章 其他应用程序开发主题308

概述308

使用getopt和getopt_long解析命令行选项308

时间API313

用sysinfo收集系统信息315

使用mmap进行内存映射317

锁定和解锁内存320

Linux错误报告322

小结324

API小结324

第Ⅳ部分 GNU/Linux的shell与脚本331

第21章 GNU/Linux标准命令331

概述331

重定向331

标准输入/输出/错误332

环境变量333

脚本调用334

GNU/Linux基本命令335

小结344

第22章 Bourne-Again shell(Bash)345

概述345

预备知识345

示例脚本346

bash脚本347

变量347

条件结构351

条件351

case结构355

循环结构356

while循环356

for循环358

输入与输出359

函数361

示例脚本362

简单的目录档案管理脚本363

查找今天更新/创建的文件的脚本程序364

其他脚本语言366

小结366

资源367

第23章 使用sed进行编辑368

概述368

剖析一个简单的脚本369

sed空间(缓冲器)370

典型的sed命令行选项370

正则表达式371

操作范围372

基本的sed指令372

替换(s)372

删除(d)373

打印(P)373

行的添加(a)、插入(i)以及改变(c)373

退出(q)374

转换(y)374

行数(=)375

保持样式空间(h)375

小结375

一些有用的sed单行程序376

资源376

第24章 使用awk进行文本处理377

概述377

awk简史377

awk结构377

命令行awk378

脚本awk381

其他awk样式385

小结385

有用的awk单行程序386

第25章 使用flex和bison生成解析器387

概述387

词法分析和语法处理387

词法分析器和解析器的通信389

ex工具390

bison工具393

一个简单的语法393

在bison中编写语法394

连接语法解析器和词法分析器396

构建一个简单的配置解析器398

配置文件词法分析器399

全局图像403

小结405

第26章 Ruby脚本编程406

概述406

Ruby简介406

为什么使用Ruby407

和其他语言的比较407

Ruby快速示例408

语言元素410

类型和变量410

控制411

重复412

Ruby中的字符串操作413

关联数组414

类与方法415

高级功能418

动态代码418

异常处理419

自省421

其他功能422

Ruby作为嵌入式语言422

小结422

资源422

第27章 Python脚本编程423

概述423

Python简介423

为什么使用Python424

与其他语言的比较424

Python快速示例425

语言元素428

类型和变量428

控制430

循环430

Python中的字符串操作432

关联数组433

类与方法434

高级功能436

动态代码437

函数式编程437

异常处理438

小结440

资源440

第28章 GNU/Linux管理基础441

概述441

Linux文件系统浏览441

套件管理442

Tar球发布442

高级套件工具445

内核更新448

获得最新版的内核448

配置内核449

构建内核450

安装内核450

配置启动引导程序(Bootloader)451

小结451

第Ⅴ部分 调试与测试455

第29章 软件单元测试框架455

概述455

单元测试455

单元测试框架457

打造自己的框架457

C单元测试系统462

嵌入单元测试466

expect工具469

小结470

资源471

第30章 用GDB进行调试472

概述472

为GDB进行编译472

使用GDB473

启动GDB475

查看代码475

使用断点476

逐步运行程序478

检查数据479

改变数据479

检查堆栈480

停止程序480

其他GDB调试主题480

多进程应用程序调试480

多线程应用程序调试481

调试已有的进程482

事后分析调试483

小结484

资源484

第31章 代码硬化485

概述485

代码硬化技术485

返回值485

细察用户/网络的输入/输出486

使用安全字符串函数486

缓冲区溢出486

在决定点提供逻辑选择487

自识别结构体488

报告错误490

降低复杂度,从而减少潜在的错误491

自保护的函数491

最大调试输出492

内存调试492

编译器的支持492

源码检查工具493

代码跟踪493

小结495

资源495

第32章 用GNU gcov进行覆盖测试496

概述496

什么是g496

准备映像496

使用gcov工具498

查看分支概率499

不完全覆盖501

gcov可用的选项502

注意事项503

小结504

参考文献504

资源504

第33章 用GNU gprof进行性能分析505

概述505

什么是性能分析505

什么是gprof505

准备映像506

使用gprof工具508

gprof可用的选项510

注意事项513

小结513

参考文献513

第34章 高级调试主题514

概述514

内存调试514

Valgrind工具514

Electric Fence517

yamd工具517

mtrace工具520

交叉引用工具521

Cscope工具521

其他交叉引用工具522

用ltrace跟踪系统调用523

动态挂接GDB525

小结527

资源527

附录 缩写与部分缩写词528

热门推荐