图书介绍
Linux C编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 李玉波,朱自强,郭军编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302113696
- 出版时间:2005
- 标注页数:371页
- 文件大小:119MB
- 文件页数:382页
- 主题词:C语言-程序设计
PDF下载
下载说明
Linux C编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录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 最简单的文本编辑器ed21
2.3 Linux下的其他编辑器21
2.3.2 最容易上手的编辑器pico23
第3章 gcc编译器27
3.1 gcc简介27
3.2 使用gcc28
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 使用gdb41
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章 使用make68
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 嵌套执行make85
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/O156
7.5.2 输出函数156
7.7 标准I/O的效率157
7.8 二进制I/O158
7.9 定位流160
7.10 格式化I/O161
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 获得进程id169
8.2.2 fork创建进程170
8.2.3 exec系统调用172
8.2.4 exit和exit177
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共享内存API250
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()和return269
10.9.1 获得本线程ID270
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 传输控制协议TCP317
12.1.3 用户数据报协议UDP319
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 音频CD339
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
热门推荐
- 1886279.html
- 1434142.html
- 195613.html
- 891019.html
- 3340127.html
- 614178.html
- 266371.html
- 3043403.html
- 3827415.html
- 1049256.html
- http://www.ickdjs.cc/book_2338840.html
- http://www.ickdjs.cc/book_1483110.html
- http://www.ickdjs.cc/book_2627503.html
- http://www.ickdjs.cc/book_196661.html
- http://www.ickdjs.cc/book_1007380.html
- http://www.ickdjs.cc/book_2312866.html
- http://www.ickdjs.cc/book_3063731.html
- http://www.ickdjs.cc/book_3804136.html
- http://www.ickdjs.cc/book_76220.html
- http://www.ickdjs.cc/book_1773108.html