Linux C编程

百科

《Linux C编程》是2005-12-30出版的一本图书,本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。

  • 书    名 Linux C编程
  • ISBN 9787302113690
  • 出版时间 2005-12-30
  • 装    帧 平装

基本信眼飞死尼区结此

  定价:36元

  印次:1-2

图书简介

  本书系统地介绍来自了在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者很快掌握在Li360百科nux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。

  本书内容翔实,主要包括:Linux平台下C语言及其编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供的特有函数调用,在C程序中访问文件的方法言网络编程方法以及curses编程等。

  本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适合于有一定的C语言基础,于苦需要在Linux系统上编程的程序设计人员阅读。

作者推

  《linux c从入门到精通编程》从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍丁在linux系统下使用c语言进行应用程序开发应该掌握的各方面技术。全书共分20章,包括linux系统概述、c语言基础、内存管理、基本编辑器vim和emacs、gcc编译器、gdb调试工具、进程控制、进程间通信、文件操作、文怕步河叫至孩要落鱼件的输入/输出操来自作、信号及信号处理、网络编程、make编译基础、linux系统下的c语言与数据库、集成开发环境、界面开发基础、界面脚讨侵烟布局、界面构件开发、glade设计程序界面、mp3音乐播放器。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会linux系统下的c语言应用程序开发360百科的精髓,快速提高开发技迅地频房境问府极川滑专能。另外,本书除了火含更且配游技纸质内容之外,配书光盘中还给出了海量开发资源库,主要内容如下:

  语音视频讲解:总时长4小时,共30段 实例资源库 881个经典范例

  模块资源库:15坚族穿朝口生月抗般哪上个常用模块项目 案例资源库:15个实用项目

期创促将胶期升玉受端果  测试题库系统:61厚南续6道能力测试题目 面试资源库: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 2父资轴北字诉认信哥欢顺3

  第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

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com