《Linux C编程》是2005-12-30齣版的一本图书。
基本介绍
- 书名:Linux C编程
- ISBN:9787302113690
- 定价:36元
- 出版时间:2005-12-30
- 装帧:平装
- 印次::1-2
图书简介
本书系统地介绍了在Linux平台下用C语言进行程式开发的过程,通过列举大量的程式实例,使读者很快掌握在Linux平台下进行C程式开发的方法和技巧,并具备开发大型应用程式的能力。
本书系统地介绍了在Linux平台下用C语言进行程式开发的过程,通过列举大量的程式实例,使读者很快掌握在Linux平台下进行C程式开发的方法和技巧,并具备开发大型应用程式的能力。
本书内容翔实,主要包括:Linux平台下C语言及其编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供的特有函式调用,在C程式中访问档案的方法言网路编程方法以及curses编程等。
《linux c从入门到精通编程》从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍丁在linux系统下使用c语言进行应用程式开发应该掌握的各方面技术。全书共分20章,包括linux系统概述、c语言基础、记忆体管理、基本编辑器vim和emacs、gcc编译器、gdb调试工具、进程控制、进程间通信、档案操作、档案的输入/输出操作、信号及信号处理、网路编程、make编译基础、linux系统下的c语言与资料库、集成开发环境、界面开发基础、界面布局、界面构件开发、glade设计程式界面、mp3音乐播放器。所有知识都结合具体实例进行介绍,涉及的程式代码给出了详细的注释,可以使读者轻鬆领会linux系统下的c语言应用程式开发的精髓,快速提高开发技能。
本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适合于有一定的C语言基础,需要在Linux系统上编程的程式设计人员阅读。
作者推荐
另外,本书除了纸质内容之外,配书光碟中还给出了海 量开发资源库,主要内容如下:
语音视频讲解:总时长4小时,共30段 实例资源库 881个经典範例
模组资源库:15个常用模组项目 案例资源库:15个实用项目
测试题库系统:616道能力测试题目 面试资源库:371道企业面试真题
ppt电子教案
《linux c从入门到精通编程》适合作为软体开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,也可供开发人员查阅、参考。
语音视频讲解:总时长4小时,共30段 实例资源库 881个经典範例
模组资源库:15个常用模组项目 案例资源库:15个实用项目
测试题库系统:616道能力测试题目 面试资源库:371道企业面试真题
ppt电子教案
《linux c从入门到精通编程》适合作为软体开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,也可供开发人员查阅、参考。
书籍目录
目录
第1章Linux下C语言编程简介 1
1.1Linux简介 1
1.2C语言的简介和特点 4
1.3Linux程式设计基础知识 5
1.3.1程式安装目录 5
1.3.2头档案 5
1.3.3库档案 6
1.4Linux下C语言编程环境
概述 7
1.5Linux程式设计的特点 9
1.6Linux下C语言编码的风格 10
1.6.1GNU编程风格 10
1.6.2Linux核心编程风格 11
第2章vi与emacs编辑器 12
2.1vim概述及套用 12
2.2emacs简介及套用 17
2.3Linux下的其他编辑器 21
2.3.1最简单的文本编辑器ed 21
2.3.1最容易上手的编辑器
pico 23
第3章gcc编译器 27
3.1gcc简介 27
3.2使用gcc 28
3.3gcc警告提示功能 30
3.4库依赖 32
3.5gcc代码最佳化 33
3.6加速 34
3.7gcc常用选项 35
3.8gcc的错误类型及对策 36
第4章gdb调试器 38
4.1gdb概述 38
4.2使用gdb 41
4.2.1gdb的命令概貌 42
4.2.2gdb中运行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.1makefile实例档案分析 68
5.1.1make与makefile档案
的关係 69
5.1.2在makefile档案中使用
变数 71
5.1.3让make自动推导依赖
关係 72
5.1.4另类风格的makefile
档案 73
5.1.5清空目标档案的规则 73
5.2makefile档案概述 74
5.3make书写规则 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使用变数 88
5.5.1变数的基础 88
5.5.2赋值变数 89
5.5.3变数的高级用法 91
5.5.4追加变数值 93
5.5.5override指示符 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.4foreach函式 105
5.7.5if函式 106
5.7.6call函式 106
5.7.7origin函式 107
5.7.8shell函式 108
5.7.9控制make的函式 108
5.8make的运行 109
5.8.1make的退出码 109
5.8.2指定makefile档案 110
5.8.3指定目标 110
5.8.4检查规则 111
5.8.5make的参数 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.2函式馆成员的隐含规则 127
5.10.3函式馆档案的后缀规则 127
5.10.4注意事项 128
第6章档案的操作 129
6.1Linux的档案结构 129
6.1.1目录结构 129
6.1.2档案和设备 130
6.2系统调用和设备驱动程式 132
6.3库函式 132
6.4硬体设备档案的底层访问 133
6.4.1write系统调用 134
6.4.2read系统调用 135
6.4.3open系统调用 136
6.4.4creat系统调用 137
6.4.5访问许可权的初始化值 137
6.4.6umask变数 138
6.4.7close系统调用 139
6.4.8ioctl系统调用 140
6.4.9lseek系统调用 142
6.4.10fstat、stat和lstat系统
调用 144
6.4.11dup和dup2系统调用 145
6.5档案和目录的维护 146
6.5.1chmod系统调用 146
6.5.2chown系统调用 147
6.5.3unlink、link、symlink
系统调用 147
6.5.4mkdir和rmdir系统调用 148
6.5.5chdir系统调用和getcwd
函式 148
第7章标準I/O库 149
7.1流和FILE对象 149
7.2标準输入、标準输出和标
準出错 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.5.2输出函式 156
7.6每次一行I/O 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章进程控制 163
8.1进程概述 163
8.1.1进程的状态及其状态
转换 163
8.1.2Linux进程简介 165
8.1.3进程控制 166
8.1.4进程调度的概念 168
8.2进程的一般操作 169
8.2.1获得进程id 169
8.2.2fork创建进程 170
8.2.3exec系统调用 172
8.2.4exit和_exit 177
8.2.5wait系统调用 179
8.2.6sleep函式调用 187
8.3进程的特殊操作 187
8.3.1setuid和setgid系统
调用 188
8.3.2setpgrp和setpgid系统
调用 189
8.3.3chdir系统调用 190
8.3.4chroot系统调用 190
8.3.5nice系统调用 191
第9章进程间的通信 192
9.1Linux下进程通信概述 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.2mmap()及其相关係统
调用 241
9.6.3mmap()範例 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章执行绪简介 254
10.1执行绪概述 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私有数据 258
10.4.1创建和注销 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条件变数 263
10.6.1创建和注销 263
10.6.2等待和激发 263
10.6.3其他 264
10.7异步信号 266
10.8执行绪终止 267
10.8.1执行绪终止方式 267
10.8.2执行绪终止时的清理 267
10.8.3执行绪终止的同步及其
返回值 268
10.8.4关于pthread_exit()和
return 269
10.9杂项 269
10.9.1获得本执行绪ID 270
10.9.2判断两个执行绪是否为
同一执行绪 270
10.9.3仅执行一次的操作 270
10.9.4pthread_kill_other_
threads_np() 271
第11章curses编程简介 273
11.1curses基本结构 273
11.2颜色和属性 276
11.3视窗和基垫 279
11.4游标和萤幕输出 285
11.5键盘输入 288
11.5.1cbreak() 288
11.5.2延迟模式 288
11.5.3回显模式和输出
延迟 289
11.5.4功能键转换 289
11.6选单 292
11.7表单 296
11.8用curses函式编写一个
汉诺塔游戏 301
11.8.1汉诺塔游戏 301
11.8.2定义数据结构 302
11.8.3柱的实现 302
11.8.4盘的实现 302
11.8.5接收输入的实现 303
11.8.6移动盘的实现 303
第12章网路编程 311
12.1TCP/IP简介 311
12.1.1IP及相关协定 312
12.1.2传输控制协定TCP 317
12.1.3用户数据报协定
UDP 319
12.2Socket编程简介 319
12.2.1Socket编程相关数据
类型定义 320
12.2.2打开Socket描述符、
建立绑定并建立连线 320
12.2.3Listen()--监听是
否有服务请求 321
12.2.4accept()--连线端
口的服务请求 322
12.2.5send()和recv()--
数据传输 322
12.2.6sendto()和recvfrom()
--利用数据报方式
进行数据传输 323
12.2.7close()和shutdown()
--结束数据传输 323
12.2.8DNS--域名服务
相关函式 324
12.3面向连线的客户机/伺服器
代码实例 324
12.4ping命令的简单实现 328
12.4.1ping命令简介 329
12.4.2ICMP协定简介 329
12.4.3IP报头格式 330
12.4.4ICMP报头格式 331
12.4.5ICMP数据报 333
12.4.6数据统计 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.4CD播放 347
13.4.1播放(play) 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