Linux C编程从基础到实践PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:程国钢,张玉兰编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302397250
- 页数:606 页
第1章 Linux使用基础 1
1.1 Linux发展大事记 1
1.2 Linux的特点 4
1.3 Linux的几个相关术语 5
1.3.1 GNU 5
1.3.2 GPL 5
1.3.3 POSIX 6
1.3.4 ISO C 6
1.4 Linux的体系结构 6
1.4.1 Linux的内核 6
1.4.2 Linux的命令解释层 7
1.4.3 Linux的文件系统 7
1.4.4 Linux的应用软件 8
1.5 Linux的内核版本和发行版本 8
1.5.1 Linux的内核版本 9
1.5.2 Linux的发行版本 10
1.6 Linux的包管理 14
1.7 Linux的人机交互 16
1.7.1 图形界面 16
1.7.2 shell 18
1.8 shell的使用 22
1.8.1 shell命令的标准格式 22
1.8.2 shell的通配符 23
1.8.3 shell中的引号 24
1.8.4 shell中的注释符 26
1.9 Linux的常用命令 26
1.9.1 目录操作命令 26
1.9.2 文件操作命令 28
1.9.3 其他命令 35
1.10 本章习题 41
第2章 在Linux下进行C语言开发 42
2.1 C语言的特点和开发流程 42
2.2 Linux下的C语言开发工具 43
2.3 Linux C语言的代码编辑工具 44
2.3.1 vim 44
2.3.2 Emacs 52
2.3.3 gedit 52
2.3.4 在Linux中编辑C语言代码文件的应用实例 53
2.4 Linux C语言的编译器gcc 55
2.4.1 gcc的安装和配置 55
2.4.2 gcc对C语言的处理过程 56
2.4.3 gcc的基础使用方法 58
2.4.4 gcc的应用实例 59
2.5 Linux C语言的调试工具gdb 60
2.5.1 gdb的基础使用 61
2.5.2 gdb运行模式的选择 63
2.5.3 gdb应用实例 63
2.6 Linux C语言的项目管理工具make 64
2.6.1 make项目管理器的基础 64
2.6.2 make项目管理器的使用 69
2.6.3 make项目管理器的应用实例 70
2.7 Linux中的C语言应用代码 73
2.7.1 C语言代码的运行机制 73
2.7.2 C语言代码的程序存储空间 75
2.7.3 C语言代码的main函数和参数 76
2.7.4 C语言代码的出错处理 78
2.7.5 C语言代码的标准输入和输出函数 83
2.7.6 C语言代码的时间处理 85
2.7.7 C语言代码的分配机制 89
2.7.8 C语言代码的系统调用和库函数 90
2.8 本章习题 91
第3章 Linux文件的基础操作 92
3.1 Linux的文件 92
3.1.1 Linux的文件类型 93
3.1.2 Linux的文件结构和文件描述符 95
3.2 Linux的文件基础操作 96
3.2.1 打开和关闭文件 96
3.2.2 创建文件 101
3.2.3 将数据写入文件 103
3.2.4 在文件中进行定位操作 113
3.2.5 从文件中读出数据 119
3.3 文件基础操作的综合应用——定时创建文件并且写入数据 122
3.3.1 综合应用的需求说明和分析 123
3.3.2 秒定时的实现 123
3.3.3 将当前时间信息写入文件 126
3.3.4 使用时间信息作为文件名 129
3.4 本章习题 134
第4章 Linux的目录文件操作 135
4.1 目录文件的基础操作 135
4.1.1 目录文件的创建和删除 135
4.1.2 目录文件的打开、关闭和读取 140
4.1.3 当前工作目录路径 147
4.2 目录文件的综合应用——定时创建目录和文件 150
4.2.1 综合应用的需求分析 150
4.2.2 使用时间信息生成目录和文件 150
4.2.3 定时创建目录和文件 153
4.3 本章习题 156
第5章 Linux的文件系统和文件属性 157
5.1 Linux的文件系统和文件属性基础 157
5.1.1 Linux的文件系统 158
5.1.2 Linux的文件系统结构 160
5.1.3 Linux的文件和文件属性 164
5.2 Linux文件属性的操作方法 166
5.2.1 判断文件类型 166
5.2.2 文件的时间信息 170
5.2.3 文件的权限 174
5.2.4 修改文件的名称 183
5.2.5 删除文件 185
5.3 Linux的链接文件 187
5.3.1 链接文件基础 187
5.3.2 硬链接操作函数 188
5.3.3 符号链接操作函数 188
5.4 文件的其他操作 190
5.4.1 dup和dup2函数 190
5.4.2 fcntl函数 192
5.4.3 truncate和ftruncate函数 195
5.5 本章习题 195
第6章 Linux的流 196
6.1 Linux的流基础 196
6.1.1 流和文件的关系 196
6.1.2 流的结构和操作流程 197
6.1.3 标准流介绍 199
6.2 流的基础操作 199
6.2.1 打开和关闭流 199
6.2.2 读写流 205
6.2.3 流的出错处理 217
6.2.4 流的定位 220
6.2.5 流的缓冲管理 224
6.2.6 流的冲洗 231
6.3 流的格式化输入和输出 231
6.3.1 流的格式化输出 232
6.3.2 流的格式化输入 232
6.3.3 流的格式化参数 233
6.3.4 流的格式化输入输出操作实例 236
6.4 本章习题 241
第7章 Linux的进程 243
7.1 操作系统和进程 243
7.1.1 进程的特点 243
7.1.2 进程和可执行文件(程序)的区别 244
7.2 Linux的进程基础 244
7.2.1 Linux进程的基础属性 244
7.2.2 Linux的进程标识方法 247
7.2.3 Linux的进程调度 251
7.2.4 Linux下的进程执行流程 252
7.3 Linux的进程操作 252
7.3.1 使用fork函数来创建进程 252
7.3.2 执行进程 264
7.3.3 使用vfork函数创建并且执行进程 271
7.3.4 退出进程 274
7.3.5 销毁进程 279
7.3.6 Linux的进程操作总结 281
7.4 进程综合应用——使用多个进程创建文件 283
7.5 Linux的进程组和会话 286
7.6 Linux进程的其他操作 290
7.6.1 更改进程用户 290
7.6.2 在进程中调用其他应用程序 292
7.6.3 统计进程状态 295
7.6.4 进程的执行时间 297
7.7 本章习题 301
第8章 Linux的信号 302
8.1 Linux的信号机制 302
8.1.1 信号的工作方式 302
8.1.2 信号的分类和说明 305
8.2 Linux信号的使用方法 308
8.2.1 注册信号 309
8.2.2 发送信号 314
8.2.3 定时信号 325
8.2.4 退出信号 326
8.3 Linux的信号集 327
8.4 信号的高级操作 328
8.4.1 信号的阻塞和挂起 328
8.4.2 信号的精确定时 329
8.4.3 可重入函数 331
8.5 本章习题 332
第9章 Linux的进程同步机制——管道和IPC 333
9.1 Linux的管道 333
9.1.1 管道的基本概念 333
9.1.2 管道的实现方法 334
9.1.3 管道的读写操作规则 335
9.1.4 管道的特点 336
9.2 Linux的管道操作 336
9.2.1 管道的创建 336
9.2.2 进程的管道通信 338
9.2.3 管道的高级应用 347
9.3 Linux的命名管道 350
9.3.1 命名管道的基本概念 350
9.3.2 命名管道的工作方式 350
9.4 Linux的命名管道操作 354
9.4.1 创建命名管道 354
9.4.2 读写命名管道 355
9.4.3 进程使用命名管道通信 356
9.5 Linux的System V IPC机制 359
9.5.1 System V IPC的标识符和关键字 360
9.5.2 System V IPC的结构和权限 361
9.5.3 System V IPC的特点 364
9.6 Linux的消息队列 365
9.6.1 消息队列基础 365
9.6.2 消息队列的操作 367
9.7 Linux的信号量 377
9.7.1 信号量的基础 377
9.7.2 信号量的操作 379
9.8 Linux的共享内存 383
9.8.1 共享内存的基础 383
9.8.2 共享内存的操作 384
9.8.3 共享内存的应用实例 387
9.9 本章习题 390
第10章 Linux的线程 391
10.1 Linux的线程基础 391
10.1.1 线程的特点 391
10.1.2 控制线程和线程的标识符 392
10.1.3 用户态和核心态线程 393
10.1.4 使用gcc编译线程的相关代码 393
10.2 Linux的线程操作 393
10.2.1 创建线程 394
10.2.2 阻塞和退出线程 397
10.2.3 取消和清理线程 400
10.2.4 分离线程 401
10.3 线程的属性 402
10.3.1 线程属性对象的初始化和销毁函数 403
10.3.2 线程堆栈大小相关函数 403
10.3.3 线程堆栈地址函数 404
10.3.4 线程的分离状态函数 404
10.3.5 线程的作用域函数 404
10.3.6 线程的继承调度函数 405
10.3.7 线程的调度策略函数 405
10.3.8 线程的调度参数函数 405
10.3.9 使用线程的属性 406
10.4 线程的私有数据 407
10.4.1 创建键函数 408
10.4.2 取消键关联函数 408
10.4.3 解决键冲突函数 408
10.4.4 键关联函数 409
10.4.5 线程私有数据地址获取函数 409
10.4.6 使用线程的私有数据 409
10.5 线程的同步 411
10.5.1 使用互斥锁解决线程同步 412
10.5.2 使用条件变量解决线程同步 415
10.6 本章习题 420
第11章 Linux的网络编程 422
11.1 Linux的网络通信模型 422
11.1.1 OSI网络模型 422
11.1.2 TCP/IP协议和其网络模型 423
11.1.3 客户端/服务器结构 426
11.1.4 Linux的端口和套接字 427
11.1.5 Linux套接字的结构定义 429
11.2 Linux的网络基础操作函数 430
11.2.1 字节顺序转换函数族 431
11.2.2 字节操作函数族 432
11.2.3 IP地址转换函数族 433
11.2.4 域名转换函数族 436
11.3 Linux的网络套接字操作函数 439
11.4 Linux的TCP编程 450
11.4.1 TCP基础 451
11.4.2 TCP的工作流程和应用 452
11.5 Linux的UDP编程 457
11.5.1 UDP的基础知识 457
11.5.2 UDP的工作流程和应用 457
11.6 应用实例——获取网络时间 461
11.7 本章习题 468
第12章 在Linux中进行基础图形编程 469
12.1 Linux图形编程基础 469
12.2 GTK+的基本使用方法 471
12.2.1 GTK+的常见数据类型 471
12.2.2 GTK+的常见函数前缀 472
12.2.3 一个最简单的GTK+窗口 472
12.2.4 GTK+的常见基础函数 473
12.2.5 GTK+的构件和容器 477
12.2.6 GTK+的回调函数 478
12.3 在GTK+中使用简单构件 480
12.3.1 按钮 481
12.3.2 触发按钮 482
12.3.3 复选框 484
12.3.4 单选框 485
12.3.5 组合盒 487
12.3.6 组合表 489
12.3.7 标签 491
12.3.8 输入框 493
12.3.9 箭头 496
12.3.10 标尺 498
12.4 在GTK+中使用组合构件 499
12.4.1 对话框 499
12.4.2 组合框 501
12.4.3 微调构件 503
12.4.4 日历构件 505
12.4.5 文件选择构件 508
12.4.6 按钮盒 511
12.4.7 框架 513
12.4.8 文本框 514
12.5 设计GTK+的菜单 517
12.5.1 建立菜单 518
12.5.2 菜单的信号处理 520
12.5.3 工具栏 521
12.6 使用Glade界面设计师 523
12.7 本章习题 524
第13章 Linux的C语言编程实战 525
13.1 实时风力数据采集仪PC机端软件设计 525
13.1.1 实时风力数据采集仪PC机端软件的需求分析 525
13.1.2 Linux下的串口编程基础 526
13.1.3 实时风力数据采集仪PC机端软件的代码设计 537
13.1.4 实时风力数据采集仪PC机端软件的记录数据 540
13.2 俄罗斯方块游戏设计 540
13.2.1 俄罗斯方块的需求分析 541
13.2.2 GTK+的图形设计进阶 541
13.2.3 俄罗斯方块的代码设计 548
13.2.4 俄罗斯方块游戏的运行 568
附录 习题答案 570
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《看视频零基础学英语口语》宋德伟 2019
- 《胃癌基础病理》(日)塚本彻哉编者;宫健,刘石译者 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《羊脂球 莫泊桑短篇小说选》(法)莫泊桑著;张英伦译 2010
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019