Linux C编程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:李玉波,朱自强,郭军编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2005
- ISBN:7302113696
- 页数:371 页
目录 1
第1章 Linux下C语言编程简介 1
1.1 Linux简介 1
1.2 C语言的简介和特点 4
1.3 Linux程序设计基础知识 5
1.3.1 程序安装目录 5
1.3.2 头文件 5
1.3.3 库文件 6
1.4 Linux下C语言编程环境概述 7
1.5 Linux程序设计的特点 9
1.6 Linux下C语言编码的风格 10
1.6.1 GNU编程风格 10
1.6.2 Linux内核编程风格 11
第2章 vi与emacs编辑器 12
2.1 vim概述及应用 12
2.2 emacs简介及应用 17
2.3.1 最简单的文本编辑器ed 21
2.3 Linux下的其他编辑器 21
2.3.2 最容易上手的编辑器pico 23
第3章 gcc编译器 27
3.1 gcc简介 27
3.2 使用gcc 28
3.3 gcc警告提示功能 30
3.4 库依赖 32
3.5 gcc代码优化 33
3.6 加速 34
3.7 gcc常用选项 35
3.8 gcc的错误类型及对策 36
第4章 gdb调试器 38
4.1 gdb概述 38
4.2 使用gdb 41
4.2.1 gdb的命令概貌 42
4.2.2 gdb中运行Linux的shell程序 44
4.2.3 在gdb中运行程序 44
4.2.4 调试已运行的程序 45
4.2.5 暂停/恢复程序运行 45
4.2.6 查看栈信息 52
4.2.7 查看源程序 54
4.2.8 查看运行时数据 56
4.2.9 改变程序的执行 64
第5章 使用make 68
5.1 makefile实例文件分析 68
5.1.1 make与makefile文件的关系 69
5.1.2 在makefile文件中使用变量 71
5.1.3 让make自动推导依赖关系 72
5.1.5v清空目标文件的规则 73
5.1.4 另类风格的makefile文件 73
5.2 makefile文件概述 74
5.3 make书写规则 76
5.3.1 规则举例 76
5.3.2 在规则中使用通配符 77
5.3.3 文件搜寻 78
5.3.4 伪目标 79
5.3.5 多目标 80
5.3.6 静态模式 81
5.3.7 自动生成依赖性 82
5.4 使用命令 84
5.4.1 显示命令 84
5.4.2 执行命令 84
5.4.3 命令出错 85
5.4.4 嵌套执行make 85
5.4.5 定义命令包 87
5.5.1 变量的基础 88
5.5 使用变量 88
5.5.2 赋值变量 89
5.5.3 变量的高级用法 91
5.5.4 追加变量值 93
5.5.5 override指示符 94
5.5.6 多行变量 94
5.5.7 环境变量 95
5.5.8 目标变量 95
5.5.9 模式变量 96
5.6 使用条件判断 96
5.6.1 示例 97
5.6.2 语法 98
5.7 使用函数 100
5.7.1 函数的调用语法 100
5.7.2 字符串处理函数 100
5.7.3 文件名操作函数 104
5.7.4 foreach函数 105
5.7.5 if函数 106
5.7.6 call函数 106
5.7.7 origin函数 107
5.7.8 shell函数 108
5.7.9 控制make的函数 108
5.8 make的运行 109
5.8.1 make的退出码 109
5.8.2 指定makefile文件 110
5.8.3 指定目标 110
5.8.4 检查规则 111
5.8.5 make的参数 112
5.9 隐含规则 115
5.9.1 使用隐含规则 116
5.9.2 隐含规则一览 117
5.9.3 隐含规则使用的变量 119
5.9.4 隐含规则链 121
5.9.5 定义模式规则 121
5.9.6 隐含规则搜索算法 125
5.10 使用make更新函数库文件 126
5.10.1 函数库文件的成员 126
5.10.3 函数库文件的后缀规则 127
5.10.2 函数库成员的隐含规则 127
5.10.4 注意事项 128
第6章 文件的操作 129
6.1 Linux的文件结构 129
6.1.1 目录结构 129
6.1.2 文件和设备 130
6.2 系统调用和设备驱动程序 132
6.3 库函数 132
6.4 硬件设备文件的底层访问 133
6.4.1 write系统调用 134
6.4.2 read系统调用 135
6.4.3 open系统调用 136
6.4.4 creat系统调用 137
6.4.5 访问权限的初始化值 137
6.4.6 umask变量 138
6.4.7 close系统调用 139
6.4.8 ioctl系统调用 140
6.4.9 lseek系统调用 142
6.4.10 fstat、stat和lstat系统调用 144
6.4.11 dup和dup2系统调用 145
6.5 文件和目录的维护 146
6.5.1 chmod系统调用 146
6.5.2 chown系统调用 147
6.5.3 unlink、link、symlink系统调用 147
6.5.4 mkdir和rmdir系统调用 148
6.5.5 chdir系统调用和getcwd函数 148
7.1 流和FILE对象 149
7.2 标准输入、标准输出和标准出错 149
第7章 标准I/O库 149
7.3 缓存 150
7.3.1 全缓存 150
7.3.2 行缓存 150
7.3.3 不带缓存 150
7.4 打开流 152
7.5 读和写流 154
7.5.1 输入函数 154
7.6 每次一行I/O 156
7.5.2 输出函数 156
7.7 标准I/O的效率 157
7.8 二进制I/O 158
7.9 定位流 160
7.10 格式化I/O 161
7.10.1 格式化输出 161
7.10.2 格式化输入 161
7.11 实现细节 162
7.12 临时文件 162
8.1.1 进程的状态及其状态转换 163
第8章 进程控制 163
8.1 进程概述 163
8.1.2 Linux进程简介 165
8.1.3 进程控制 166
8.1.4 进程调度的概念 168
8.2 进程的一般操作 169
8.2.1 获得进程id 169
8.2.2 fork创建进程 170
8.2.3 exec系统调用 172
8.2.4 exit和exit 177
8.2.5 wait系统调用 179
8.2.6 sleep函数调用 187
8.3 进程的特殊操作 187
8.3.1 setuid和setgid系统调用 188
8.3.2 setpgrp和setpgid系统调用 189
8.3.3 chdir系统调用 190
8.3.4 chroot系统调用 190
8.3.5 nice系统调用 191
9.1 Linux下进程通信概述 192
第9章 进程间的通信 192
9.2 管道及有名管道 193
9.2.1 管道概述及相关API应用 194
9.2.2 有名管道概述及相关API应用 201
9.3 信号及其处理 207
9.3.1 信号及信号来源 207
9.3.2 信号的种类 207
9.3.3 进程对信号的响应 209
9.3.4 信号的发送 209
9.3.5 信号的安装(设置信号关联动作) 212
9.3.6 信号集及信号集操作函数 215
9.3.7 信号阻塞与信号未决 216
9.3.8 信号生命周期 216
9.3.9 信号编程注意事项 218
9.3.10 信号应用实例 220
9.4 消息队列 224
9.4.1 消息队列基本概念 225
9.4.2 操作消息队列 225
9.4.3 获得或设置消息队列属性 226
9.4.4 消息队列的限制 229
9.4.5 消息队列应用实例 230
9.5 信号灯概述 232
9.5.1 操作信号灯 233
9.5.2 信号灯的限制 235
9.5.3 竞争问题 236
9.5.4 信号灯应用实例 236
9.6 共享内存 239
9.6.1 内核怎样保证各个进程寻址到同一个共享内存区域的内存页面 240
9.6.2 mmap()及其相关系统调用 241
9.6.3 mmap()范例 242
9.6.4 对mmap()返回地址的访问 246
9.6.5 系统V共享内存原理 249
9.6.6 系统V共享内存API 250
9.6.7 系统V共享内存限制 250
9.6.8 系统V共享内存范例 250
9.7 套接口(Sockets)通信 253
10.1 线程概述 254
第10章 线程简介 254
10.2 创建线程 255
10.2.1 线程创建属性 255
10.2.2 线程创建的Linux实现 256
10.3 线程取消 256
10.3.1 线程取消的语义 256
10.3.2 取消点 257
10.3.3 程序设计方面的考虑 257
10.3.4 与线程取消相关的pthread函数 257
10.4.1 创建和注销 258
10.4 私有数据 258
10.4.2 访问 259
10.4.3 使用范例 259
10.5 互斥锁 261
10.5.1 创建和销毁 261
10.5.2 互斥锁属性 261
10.5.3 锁操作 262
10.5.4 其他 262
10.6.2 等待和激发 263
10.6 条件变量 263
10.6.1 创建和注销 263
10.6.3 其他 264
10.7 异步信号 266
10.8 线程终止 267
10.8.1 线程终止方式 267
10.8.2 线程终止时的清理 267
10.8.3 线程终止的同步及其返回值 268
10.9 杂项 269
10.8.4 关于pthread_exit()和return 269
10.9.1 获得本线程ID 270
10.9.2 判断两个线程是否为同一线程 270
10.9.3 仅执行一次的操作 270
10.9.4 pthread kill other_threads_np() 271
第11章 curses编程简介 273
11.1 curses基本结构 273
11.2 颜色和属性 276
11.3 窗口和基垫 279
11.4 光标和屏幕输出 285
11.5 键盘输入 288
11.5.1vcbreak() 288
11.5.2 延迟模式 288
11.5.3 回显模式和输出延迟 289
11.5.4 功能键转换 289
11.6 菜单 292
11.7 表单 296
11.8.1 汉诺塔游戏 301
11.8 用curses函数编写一个汉诺塔游戏 301
11.8.2 定义数据结构 302
11.8.3 柱的实现 302
11.8.4 盘的实现 302
11.8.5 接收输入的实现 303
11.8.6 移动盘的实现 303
第12章 网络编程 311
12.1 TCP/IP简介 311
12.1.1 IP及相关协议 312
12.1.2 传输控制协议TCP 317
12.1.3 用户数据报协议UDP 319
12.2 Socket编程简介 319
12.2.1 Socket编程相关数据类型定义 320
12.2.2 打开Socket描述符、建立绑定并建立连接 320
12.2.3 Listen()——监听是否有服务请求 321
12.2.4 accept()——连接端口的服务请求 322
1 2.2.5 send()和recv()数据传输 322
12.2.6 sendto()和recvfrom()——利用数据报方式进行数据传输 323
1 2.2.7 close()和shutdown()——结束数据传输 323
12.2.8 DNS——域名服务相关函数 324
12.3 面向连接的客户机/服务器代码实例 324
12.4 ping命令的简单实现 328
12.4.1 ping命令简介 329
12.4.2 ICMP协议简介 329
12.4.3 IP报头格式 330
12.4.4 ICMP报头格式 331
12.4.6 数据统计 333
12.4.5 ICMP数据报 333
12.4.7 完整的ping命令代码 334
第13章 实例一:Linux下CD播放器 339
13.1 音频CD 339
13.2 设备控制 340
13.3 音轨处理 342
13.3.1 计算音轨数目 342
13.3.2 定位音轨位置 344
13.3.3 获取音轨信息 345
13.4.1 播放(play) 347
13.4 CD播放 347
12.4.2 停止(stop) 349
13.4.3 暂停(pause) 350
12.4.4 继续(resume) 351
13.5 音量调节 352
13.6 子码信息 354
第14章 实例二:一个简单的服务器端/客户端程序 357
附录 361
参考文献 371
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019