• Linux程序设计 第4版
21年品牌 40万+商家 超1.5亿件商品

Linux程序设计 第4版

全新正版 极速发货

82.23 6.3折 129.8 全新

库存12件

广东广州
认证卖家担保交易快速发货售后保障

作者(英)马修,(英)斯通斯

出版社人民邮电出版社

ISBN9787115228215

出版时间2010-06

装帧平装

开本16开

定价129.8元

货号1202594933

上书时间2024-09-30

谢岳书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
    陈健,毕业于南京大学,1996年获电子学学士,2002年获计算机硕士,现工作于南京大学网络信息中心。长期从事软件研发和教学工作,主要研究方向为网络管理。

目录
第1章入门1

1.1UNIX、Linux和GNU简介1

1.1.1什么是UNIX1

1.1.2什么是Linux2

1.1.3GNU项目和自由软件基金会3

1.1.4Linux发行版3

1.2Linux程序设计4

1.2.1Linux程序4

1.2.2文本编辑器5

1.2.3C语言编译器5

1.2.4开发系统导引7

1.3获得帮助12

1.4小结14

第2章shell程序设计15

2.1为什么使用shell编程15

2.2一点哲学16

2.3什么是shell16

2.4管道和重定向18

2.4.1重定向输出18

2.4.2重定向输入19

2.4.3管道19

2.5作为程序设计语言的shell20

2.5.1交互式程序20

2.5.2创建脚本21

2.5.3把脚本设置为可执行22

2.6shell的语法23

2.6.1变量23

2.6.2条件27

2.6.3控制结构29

2.6.4函数39

2.6.5命令42

2.6.6命令的执行58

2.6.7here文档61

2.6.8调试脚本程序63

2.7迈向图形化:dialog工具63

2.8综合应用68

2.8.1需求68

2.8.2设计68

2.8.3应用程序的说明76

2.9小结77

第3章文件操作78

3.1Linux文件结构78

3.1.1目录79

3.1.2文件和设备79

3.2系统调用和设备驱动程序80

3.3库函数81

3.4底层文件访问82

3.4.1write系统调用82

3.4.2read系统调用83

3.4.3open系统调用84

3.4.4访问权限的初始值85

3.4.5其他与文件管理有关的系统调用88

3.5标准I/O库91

3.5.1fopen函数91

3.5.2fread函数92

3.5.3fwrite函数92

3.5.4fclose函数92

3.5.5fflush函数93

3.5.6fseek函数93

3.5.7fgetc、getc和getchar函数93

3.5.8fputc、putc和putchar函数94

3.5.9fgets和gets函数94

3.6格式化输入和输出94

3.6.1printf、fprintf和sprintf函数94

3.6.2scanf、fscanf和sscanf函数96

3.6.3其他流函数98

3.6.4文件流错误99

3.6.5文件流和文件描述符99

3.7文件和目录的维护100

3.7.1chmod系统调用100

3.7.2chown系统调用100

3.7.3unlink、link和symlink系统调用100

3.7.4mkdir和rmdir系统调用101

3.7.5chdir系统调用和getcwd函数101

3.8扫描目录102

3.8.1opendir函数102

3.8.2readdir函数102

3.8.3telldir函数103

3.8.4seekdir函数103

3.8.5closedir函数103

3.9错误处理106

3.9.1strerror函数106

3.9.2perror函数106

3.10/proc文件系统107

3.11高 级主题:fcntl和mmap110

3.11.1fcntl系统调用110

3.11.2mmap函数111

3.12小结113

第4章Linux环境114

4.1程序参数114

4.1.1getopt116

4.1.2getopt_long118

4.2环境变量120

4.2.1环境变量的用途122

4.2.2environ变量122

4.3时间和日期123

4.4临时文件129

4.5用户信息131

4.6主机信息134

4.7日志135

4.8资源和139

4.9小结143

第5章终端144

5.1对终端进行读写144

5.2与终端进行对话149

5.3终端驱动程序和通用终端接口151

5.3.1概述151

5.3.2硬件模型151

5.4termios结构152

5.4.1输入模式153

5.4.2输出模式154

5.4.3控制模式155

5.4.4本地模式155

5.4.5特殊控制字符155

5.4.6终端速度158

5.4.7其他函数159

5.5终端的输出162

5.5.1终端的类型163

5.5.2识别终端类型163

5.5.3使用terminfo功能标志165

5.6检测击键动作170

5.7虚拟控制台172

5.8伪终端173

5.9小结174

第6章使用curses函数库管理基于文本的屏幕175

6.1用curses函数库进行编译175

6.2curses术语和概念176

6.3屏幕178

6.3.1输出到屏幕179

6.3.2从屏幕读取180

6.3.3清除屏幕180

6.3.4移动光标180

6.3.5字符属性181

6.4键盘183

6.4.1键盘模式183

6.4.2键盘输入184

6.5窗口185

6.5.1WINDOW结构185

6.5.2通用函数186

6.5.3移动和更新窗口187

6.5.4优化屏幕刷新190

6.6子窗口191

6.7keypad模式193

6.8彩色显示195

6.9pad198

6.10CD唱片应用程序200

6.10.1新CD唱片应用程序的开始部分200

6.10.2main函数202

6.10.3建立菜单203

6.10.4操作数据库文件204

6.10.5查询CD数据库209

6.11小结213

第7章数据管理214

7.1内存管理214

7.1.1简单的内存分配214

7.1.2分配大量的内存215

7.1.3滥用内存218

7.1.4空指针219

7.1.5释放内存220

7.1.6其他内存分配函数221

7.2文件锁定222

7.2.1创建锁文件222

7.2.2区域锁定225

7.2.3锁定状态下的读写操作227

7.2.4文件锁的竞争232

7.2.5其他锁命令236

7.2.6死锁236

7.3数据库237

7.3.1dbm数据库237

7.3.2dbm例程238

7.3.3dbm访问函数239

7.3.4其他dbm函数242

7.4CD唱片应用程序244

7.4.1更新设计244

7.4.2使用dbm数据库的CD唱片应用程序245

7.5小结262

第8章MySQL263

8.1安装263

8.1.1MySQL软件包264

8.1.2安装后的配置266

8.1.3安装后的故障修复270

8.2MySQL管理270

8.2.1命令270

8.2.2创建用户并赋予权限274

8.2.3密码276

8.2.4创建数据库276

8.2.5数据类型277

8.2.6创建表278

8.2.7图形化工具280

8.3使用C语言访问MySQL数据283

8.3.1连接例程283

8.3.2错误处理287

8.3.3执行SQL语句288

8.3.4更多的函数301

8.4CD数据库应用程序301

8.4.1创建表302

8.4.2添加数据304

8.4.3使用C语言访问数据306

8.5小结316

第9章开发工具317

9.1多个源文件带来的问题317

9.2make命令和makefile文件318

9.2.1makefile的语法318

9.2.2make命令的选项和参数318

9.2.3makefile文件中的注释321

9.2.4makefile文件中的宏321

9.2.5多个目标323

9.2.6内置规则325

9.2.7后缀和模式规则326

9.2.8用make管理函数库327

9.2.9高 级主题:makefile文件和子目录329

9.2.10GNU make和gcc329

9.3源代码控制330

9.3.1RCS331

9.3.2SCCS336

9.3.3RCS和SCCS的比较336

9.3.4CVS337

9.3.5CVS的前端程序340

9.3.6Subversion341

9.4编写手册页342

9.5发行软件345

9.5.1patch程序345

9.5.2其他软件发行工具347

9.6RPM软件包349

9.6.1使用RPM软件包文件349

9.6.2安装RPM软件包350

9.6.3创建RPM软件包350

9.7其他软件包格式358

9.8开发环境358

9.8.1KDevelop358

9.8.2其他开发环境360

9.9小结360

第10章调试361

10.1错误类型361

10.2常用调试技巧362

10.2.1有漏洞的程序362

10.2.2代码检查364

10.2.3取样法365

10.2.4程序的受控执行367

10.3使用gdb进行调试368

10.3.1启动gdb368

10.3.2运行一个程序369

10.3.3栈跟踪369

10.3.4检查变量370

10.3.5列出程序源代码370

10.3.6设置断点371

10.3.7用调试器打补丁374

10.3.8深入学习gdb375

10.4其他调试工具375

10.4.1lint:清理程序中的“垃圾”376

10.4.2函数调用工具378

10.4.3用prof/gprof产生执行存档380

10.5断言381

10.6内存调试383

10.6.1ElectricFence函数库383

10.6.2valgrind384

10.7小结387

第11章进程和信号388

11.1什么是进程388

11.2进程的结构388

11.2.1进程表390

11.2.2查看进程390

11.2.3系统进程391

11.2.4进程调度393

11.3启动新进程394

11.3.1等待一个进程399

11.3.2僵尸进程401

11.3.3输入和输出重定向403

11.3.4线程404

11.4信号404

11.4.1发送信号408

11.4.2信号集412

11.5小结415

第12章POSIX线程416

12.1什么是线程416

12.2线程的优点和缺点417

12.3第一个线程程序418

12.4同时执行421

12.5同步423

12.5.1用信号量进行同步423

12.5.2用互斥量进行同步427

12.6线程的属性431

12.7取消一个线程435

12.8多线程438

12.9小结442

第13章进程间通信:管道443

13.1什么是管道443

13.2进程管道444

13.3将输出送往popen445

13.3.1传递更多的数据446

13.3.2如何实现popen447

13.4pipe调用449

13.5父进程和子进程451

13.5.1管道关闭后的读操作453

13.5.2把管道用作标准输入和标准输出454

13.6命名管道:FIFO456

13.6.1访问FIFO文件458

13.6.2高 级主题:使用FIFO的客户/服务器应用程序464

13.7CD数据库应用程序468

13.7.1目标469

13.7.2实现469

13.7.3客户接口函数472

13.7.4服务器接口server.c478

13.7.5管道481

13.7.6对CD数据库应用程序的总结487

13.8小结487

第14章信号量、共享内存和消息队列488

14.1信号量488

14.1.1信号量的定义489

14.1.2一个理论性的例子489

14.1.3Linux的信号量机制490

14.1.4使用信号量492

14.2共享内存496

14.2.1shmget函数497

14.2.2shmat函数497

14.2.3shmdt498

14.2.4shmctl498

14.3消息队列502

14.3.1msgget函数502

14.3.2msgsnd函数503

14.3.3msgrcv函数503

14.3.4msgctl函数504

14.4CD数据库应用程序507

14.4.1修改服务器函数507

14.4.2修改客户函数509

14.5IPC状态命令511

14.5.1显示信号量状态511

14.5.2显示共享内存状态511

14.5.3显示消息队列状态511

14.6小结512

第15章套接字513

15.1什么是套接字513

15.2套接字连接513

15.2.1套接字属性517

15.2.2创建套接字519

15.2.3套接字地址520

15.2.4命名套接字520

15.2.5创建套接字队列521

15.2.6接受连接521

15.2.7请求连接522

15.2.8关闭套接字523

15.2.9套接字通信523

15.2.10主机字节序和网络字节序525

15.3网络信息527

15.3.1因特网守护进程(xinetd/inetd)531

15.3.2套接字选项533

15.4多客户534

15.4.1select系统调用537

15.4.2多客户540

15.5数据报543

15.6小结545

第16章用GTK+进行GNOME编程546

16.1X视窗系统简介546

16.1.1X服务器547

16.1.2X客户端547

16.1.3X协议547

16.1.4Xlib库547

16.1.5X工具包547

16.1.6窗口管理器548

16.1.7创建GUI的其他方法——平台无关的窗囗API548

16.2GTK+简介549

16.2.1GLib类型系统549

16.2.2GTK+对象系统550

16.2.3GNOME简介550

16.2.4安装GNOME/GTK+开发库551

16.3事件、信号和回调函数554

16.4组装盒构件556

16.5GTK+构件559

16.5.1GtkWindow559

16.5.2GtkEntry560

16.5.3GtkSpinButton563

16.5.4GtkButton565

16.5.5GtkTreeView568

16.6GNOME构件571

16.7GNOME菜单572

16.8对话框576

16.8.1GtkDialog577

16.8.2模式对话框578

16.8.3非模式对话框579

16.8.4GtkMessageDialog580

16.9CD数据库应用程序581

16.10小结592

第17章用Qt进行KDE编程593

17.1KDE和Qt简介593

17.2安装Qt594

17.3信号和槽596

17.4Qt构件602

17.4.1QLineEdit602

17.4.2Qt按钮605

17.4.3QComboBox609

17.4.4QListView613

17.5对话框615

17.5.1QDialog615

17.5.2QMessageBox617

17.5.3QInputDialog618

17.5.4使用qmake简化makefile文件的编写620

17.6KDE的菜单和工具栏620

17.7使用KDE/Qt编写CD数据库应用程序624

17.7.1主窗口624

17.7.2AddCdDialog627

17.7.3LogonDialog629

17.7.4main.cpp630

17.8小结632

第18章Linux标准633

18.1C编程语言634

18.1.1发展历史简介634

18.1.2GNU编译器集634

18.1.3gcc选项635

18.2接口和LSB636

18.2.1LSB标准函数库637

18.2.2LSB用户和组638

18.2.3LSB系统初始化638

18.3文件系统层次结构标准639

18.4更多标准642

18.5小结642

内容摘要
本书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为X视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者掌握相关的知识。本书适合Linux的初学者及希望利用Linu进行开发的程序人员阅读,也适合作为高等院校计算机相关专业师生的参考教材。

主编推荐
**负盛名的Linux程序设计图书
内容全、深入
全球开源社区集体智慧结晶
Linux/UNIX专业人士倾力打造

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP