Linux下C语言应用编程PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:杨铸编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2012
- ISBN:9787512409057
- 页数:263 页
第1章Linux下C语言编程环境 1
1.1 Linux操作系统及相关开发工具的安装与使用 1
1.1.1虚拟机软件vmware的安装 1
1.1.2 Linux操作系统的安装 12
1.2基本Shell命令的使用 25
1.2.1常用命令 25
1.2.2帮助命令 29
1.2.3搜索命令 30
1.2.4重定向与管道 32
1.2.5文件类型与权限 32
1.3编辑器vim的使用 34
1.4编译器gcc的使用 36
1.4.1 gcc简介 36
1.4.2使用gcc 38
1.4.3 gcc常用选项 40
1.5调试器gdb的使用 41
1.5.1 gdb概述 41
1.5.2使用gdb 45
1.6 make与Makefile文件 46
1.6.1 Makefile简介 46
1.6.2 Makefile基本规则 46
1.6.3使用带宏的Makefile 48
1.6.4 Makefile隐含规则 50
第2章 文件I/O编程 51
2.1文件I/O介绍 51
2.2文件描述符 51
2.3基本API 52
2.3.1 open 52
2.3.2 read 53
2.3.3 write 54
2.3.4 close 55
2.3.5 lseek 55
2.3.6基本API综合使用 57
2.3.7 fcntl 58
2.3.8 ioctl 60
2.3.9 select 61
2.3.10 poll 64
2.4 stat的使用 67
2.4.1 stat的基本使用 67
2.4.2文件类型的判定 69
2.4.3权限设定的判定 71
2.4.4获取主、次设备号 72
2.4.5获取时间及时间格式的转换 72
2.5目录操作 73
2.5.1打开目录 73
2.5.2读取目录 74
2.5.3关闭目录 74
2.5.4使用范例 74
2.5.5回绕目录rewinddir 75
2.6文件I/O编程综合案例分析——myls.c 75
2.6.1用于命令选项的宏定义 76
2.6.2子函数功能 76
2.6.3 main函数分析 77
2.6.4子函数show_link_content的实现 77
2.6.5子函数show_file的实现 78
2.6.6子函数show_dir的实现 79
2.6.7子函数my_get_opt的实现 80
2.6.8子函数get_file_list的实现 80
第3章 多进程编程 81
3.1进程基础知识 81
3.1.1进程概念 81
3.1.2进程的状态及其转换 82
3.1.3进程标识 83
3.2精解Linux下C进程内存布局 83
3.2.1 C进程内存布局说明 83
3.2.2 C进程内存布局验证 84
3.2.3环境变量的获取与设置 85
3.3进程控制天字第1号系统调用——fork 87
3.3.1 fork的机制与特性 87
3.3.2 fork使用实例分析 88
3.4揭秘文件描述符的本质 89
3.4.1文件描述符的本质是数组元素的下标 89
3.4.2 fork对文件描述符的影响 91
3.4.3标准输入、输出文件描述符与dup2 92
3.5父子进程同步的功臣——wait 94
3.5.1 wait的作用 94
3.5.2调用wait的实例 94
3.5.3 waitpid 97
3.6进程控制地字第1号系统调用——exec 97
3.6.1 exec的机制和用法 98
3.6.2 exec的使用实例 98
3.6.3 exec与fork合作 100
3.6.4关于exec函数的6种形式 103
3.7 gdb调试多进程程序的技巧 103
3.8进程的消亡 104
3.8.1启动例程与main函数 104
3.8.2 exit函数与_exit函数 105
3.8.3 I/O流与I/O库缓存 105
3.8.4 Exit handler 106
3.9守护进程的编写 109
3.9.1进程组、对话期与控制终端 109
3.9.2编程规则与步骤 111
3.9.3出错记录 112
第4章 进程间通信 115
4.1进程间通信概述 115
4.2进程间的传令兵——信号 116
4.2.1信号概述 116
4.2.2信号的捕获与处理 117
4.2.3实例分析 118
4.2.4使用gdb调试信号 121
4.2.5 pending signal 121
4.2.6 sigaction 125
4.3进程间的动脉——管道 127
4.3.1无名管道 127
4.3.2有名(命名)管道 132
4.4进程间的高速公路——共享内存 136
4.4.1共享内存的原理 137
4.4.2主要API 137
4.4.3利用共享内存进行进程间通信的实例 139
4.5高速公路上的红绿灯——信号量 141
4.5.1使用共享内存存在的同步问题 141
4.5.2信号量的实现原理 142
4.5.3使用信号量同步共享内存访问的设计 143
4.5.4信号量编程的主要API 143
4.5.5使用信号量同步共享内存访问的实例分析 145
4.6进程间的邮局——消息队列 150
第5章 多线程编程初步 154
5.1线程的概念和优势 154
5.2多线程编程的基本API 155
5.2.1创建线程pthread_create 155
5.2.2结束线程pthread_exit 155
5.2.3等待线程结束pthread_join 156
5.2.4多线程编程实例分析 156
5.3多线程的同步与互斥 159
5.3.1互斥锁 159
5.3.2信号量 162
5.4线程属性 165
5.4.1创建线程时指定属性 165
5.4.2线程创建后改变属性 167
5.5使用gdb调试多线程程序 173
第6章 网络编程 174
6.1 socket编程所需网络通信基础知识 174
6.1.1客户端程序和服务端程序 174
6.1.2常用的命令 174
6.1.3 TCP/UDP介绍 174
6.1.4数据封包与解包 174
6.1.5 TCP连接建立过程——3次握手 178
6.1.6 TCP连接终止过程——4分节终止序列 178
6.2服务器和客户机的信息函数 179
6.2.1字节序列转换 179
6.2.2地址格式转换 181
6.2.3 IP和域名的转换 182
6.2.4服务信息函数 183
6.3 TCP socket编程 183
6.3.1编程模型 184
6.3.2主要API 185
6.3.3实例分析 187
6.3.4令人困惑的“不能绑定到指定地址”的错误 191
6.3.5套接口地址结构几点特别说明 194
6.3.6迭代服务器与并发服务器 195
6.4 UDP socket编程 200
6.4.1编程模型 200
6.4.2主要API 201
6.4.3实例分析 202
6.4.4特别说明 205
6.5高级套接字函数 206
6.5.1 send和recv 206
6.5.2 sendmsg和recvmsg 206
6.5.3 shutdown 207
第7章Linux下C开发环境使用进阶 209
7.1编辑器vim的使用 209
7.1.1命令行模式的操作 209
7.1.2命令行模式切换到输入模式 211
7.1.3最后行模式的操作 211
7.1.4 vim的注意事项 212
7.2编译器gcc的使用 213
7.2.1 gcc警告提示功能 213
7.2.2库依赖 215
7.2.3 gcc代码优化 216
7.2.4 gcc编译加速 218
7.2.5 gcc的错误类型及对策 218
7.3程序库文件的制作、链接、加载精解 219
7.3.1 linux下ELF文件格式 219
7.3.2库函数的编写者如何制作库文件 223
7.3.3应用程序的编写者如何使用(链接)库文件 224
7.3.4应用程序的使用者如何加载库文件 225
7.3.5静态库文件的制作和使用 226
7.4调试器gdb的使用 227
7.4.1 gdb的命令概貌 227
7.4.2 gdb中运行Linux的shell程序 229
7.4.3在gdb中配置程序运行环境 229
7.4.4调试已运行的程序 230
7.4.5暂停/恢复程序运行 230
7.4.6查看栈信息 237
7.4.7查看源程序 239
7.4.8查看运行时数据 242
7.4.9改变程序的执行 249
7.5 autoconf和automake生成Makefile文件 253
7.5.1引子 253
7.5.2模拟需求 253
7.5.3工具简介 254
7.5.4生成Makefile的来龙去脉 255
7.5.5 Configure.in的八股文 256
7.5.6实战Makefile.am 258
参考文献 261
后记 262
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019