Linux C从入门到精通

Linux C从入门到精通 pdf epub mobi txt 电子书 下载 2026

出版者:清华大学出版社
作者:明日科技
出品人:
页数:462
译者:
出版时间:2012-12
价格:69.80元
装帧:平装
isbn号码:9787302284857
丛书系列:
图书标签:
  • linux
  • C
  • 编程
  • 中国
  • Linux
  • Linux
  • C语言
  • 编程
  • 入门
  • 精通
  • 系统编程
  • 内核
  • 开发
  • 技术
  • 计算机
想要找书就要到 小哈图书下载中心
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Linux C从入门到精通》从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了在Linux系统下使用C语言进行应用程序开发应该掌握的各方面技术。全书共分20章,包括Linux系统概述、C语言基础、内存管理、基本编辑器VIM和Emacs、GCC编译器、GDB调试工具、进程控制、进程间通信、文件操作、文件的输入/输出操作、信号及信号处理、网络编程、make编译基础、Linux系统下的C语言与数据库、集成开发环境、界面开发基础、界面布局、界面构件开发、Glade设计程序界面、MP3音乐播放器。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Linux系统下的C语言应用程序开发的精髓,快速提高开发技能。另外,《Linux C从入门到精通》除了纸质内容之外,配书光盘中还给出了海量开发资源库,主要内容如下:语音视频讲解:总时长4小时,共30段;模块资源库:15个常用模块;测试题库系统:616道能力测试题目;PPT电子教案;实例资源库:881个经典范例;项目案例资源库:15个实用项目;面试资源库:371道企业面试真题。

作者简介

目录信息

第1篇 基 础 知 识
第1章 Linux系统概述 3
视频讲解:12分钟
1.1 Linux的起源与发展 4
1.1.1 GNU项目的前前后后 4
1.1.2 Linux的诞生 4
1.1.3 Linux的现状 5
1.2 Linux的内核与版本 5
1.2.1 Linux内核的介绍 5
1.2.2 Linux对硬件平台的支持 6
1.2.3 常见Linux的发行版本 6
1.3 Linux系统的安装 6
1.3.1 Linux系统安装的硬件要求 7
1.3.2 图形化安装Linux 7
1.3.3 第一次启动Linux系统 12
1.4 小结 13
第2章 C语言基础 15
视频讲解:34分钟
2.1 C语言概述 16
2.2 数据类型 16
2.2.1 基本类型 17
2.2.2 构造类型 19
2.2.3 指针类型 20
2.2.4 空类型 22
2.3 运算符和表达式 22
2.3.1 运算符 22
2.3.2 表达式 24
2.4 函数 24
2.5 程序语句 26
2.5.1 控制语句 27
2.5.2 函数调用语句 28
2.5.3 表达式语句 28
2.5.4 空语句 28
2.5.5 复合语句 28
2.6 预处理命令 29
2.6.1 宏定义 29
2.6.2 文件包含 30
2.7 小结 30
2.8 实践与练习 30
第3章 内存管理 31
视频讲解:9分钟
3.1 内存分类 32
3.1.1 动态内存 32
3.1.2 静态内存 32
3.1.3 动态内存与静态内存的区别 33
3.2 内存管理的基本操作 33
3.2.1 分配内存 33
3.2.2 释放内存 36
3.3 链表 36
3.4 小结 38
3.5 实践与练习 38
第4章 基本编辑器VIM和Emacs 39
视频讲解:12分钟
4.1 初识VIM 40
4.1.1 VIM的进入与退出 40
4.1.2 VIM基本模式 40
4.2 VIM的基本操作 41
4.2.1 VIM的命令行模式操作 41
4.2.2 VIM的编辑模式操作 43
4.2.3 VIM的底行模式操作 43
4.3 初识Emacs 44
4.4 Emacs的基本操作 44
4.4.1 启动Emacs 44
4.4.2 基本操作 45
4.5 小结 46
第5章 GCC编译器 47
视频讲解:26分钟
5.1 初识GCC编译器 48
5.1.1 第一次编译 48
5.1.2 GCC选项概述 48
5.1.3 警告 49
5.1.4 GCC调试 50
5.1.5 代码优化 52
5.2 GCC编译的基本流程 54
5.2.1 C预处理 54
5.2.2 编译 54
5.2.3 汇编 54
5.2.4 链接 54
5.3 其他编译工具简介 55
5.3.1 C++编译器G++ 55
5.3.2 EGCS 55
5.3.3 F2C和P2C 55
5.4 小结 55
第6章 GDB调试工具 57
视频讲解:40分钟
6.1 初识GDB调试器 58
6.1.1 GDB调试器概述 58
6.1.2 用GDB调试简单程序 58
6.2 GDB调试器的基本功能与常用命令 60
6.2.1 启动调试程序功能及其命令 61
6.2.2 使用断点功能及其命令 62
6.2.3 检查数据的功能及其命令 64
6.2.4 使用观察窗口功能及其命令 67
6.2.5 检查栈信息功能及其命令 67
6.2.6 检查源代码功能及其命令 68
6.2.7 改变程序的运行功能及其命令 70
6.3 多线程程序调试 71
6.4 Linux平台上的其他调试工具 71
6.5 小结 72
第2篇 核 心 技 术
第7章 进程控制 75
视频讲解:57分钟
7.1 进程概述 76
7.1.1 进程的定义 76
7.1.2 进程的相关信息 77
7.2 进程的基本操作 78
7.2.1 进程创建 78
7.2.2 进程等待 84
7.2.3 进程结束 88
7.3 多个进程间的关系 89
7.3.1 进程组 89
7.3.2 时间片的分配 90
7.4 线程 92
7.4.1 线程概述 92
7.4.2 线程的属性 92
7.5 进程的特殊操作 94
7.5.1 获取进程标识 94
7.5.2 设置进程标识 98
7.6 小结 99
7.7 实践与练习 99
第8章 进程间通信 101
视频讲解:41分钟
8.1 进程间通信概述 102
8.1.1 进程间通信的工作原理 102
8.1.2 进程间通信的主要分类 102
8.2 管道与命名管道 102
8.2.1 管道基本定义 103
8.2.2 管道创建和管道关闭 103
8.2.3 pipe()函数实现管道通信 103
8.2.4 命名管道基本定义 106
8.2.5 在Shell中创建命名管道 106
8.2.6 mkfifo()函数创建命名管道 107
8.3 共享内存 109
8.3.1 SYSV子系统的基本知识 109
8.3.2 共享内存相关操作 110
8.3.3 共享内存实现进程间通信 113
8.4 信号量 115
8.4.1 信号量的工作原理 115
8.4.2 信号量的相关操作 116
8.4.3 信号量实现进程间通信 118
8.5 消息队列 120
8.5.1 消息队列的相关操作 121
8.5.2 消息队列实现进程间通信 123
8.6 小结 125
8.7 实践与练习 125
第9章 文件操作 127
视频讲解:37分钟
9.1 文件初探 128
9.1.1 文件与文件系统的概念 128
9.1.2 文件的属性 128
9.1.3 文件的相关信息 129
9.2 文件的相关操作 130
9.2.1 修改文件属性 131
9.2.2 复制文件描述符 134
9.2.3 获取文件信息 135
9.2.4 文件的其他操作 136
9.3 特殊文件的操作 137
9.3.1 目录文件的操作 137
9.3.2 链接文件的操作 141
9.3.3 设备文件 143
9.4 小结 144
9.5 实践与练习 144
第10章 文件的输入/输出操作 145
视频讲解:30分钟
10.1 文件I/O操作概述 146
10.1.1 文件描述符简介 146
10.1.2 数据流概述 146
10.2 基于文件描述符的I/O操作 147
10.2.1 文件的打开与关闭 147
10.2.2 文件的读写操作 149
10.2.3 文件的定位 150
10.3 基于数据流的I/O操作 152
10.3.1 文件的打开与关闭 153
10.3.2 字符输入/输出 154
10.3.3 字符串输入/输出 156
10.3.4 数据块输入/输出 157
10.3.5 格式化输入/输出 158
10.3.6 操作读写位置的函数 159
10.3.7 C标准库的I/O缓冲区 162
10.4 小结 163
10.5 实践与练习 164
第11章 信号及信号处理 165
视频讲解:23分钟
11.1 信号概述 166
11.1.1 在终端中查看常见的信号 166
11.1.2 信号处理 166
11.2 产生信号 167
11.2.1 kill()函数 167
11.2.2 raise()函数 168
11.2.3 alarm()函数 168
11.3 捕捉信号 168
11.3.1 signal()函数 169
11.3.2 sigaction()函数 171
11.4 信号的阻塞 172
11.4.1 sigprocmask()函数 173
11.4.2 sigsuspend()函数 173
11.4.3 sigpending()函数 173
11.5 信号处理的安全问题 175
11.6 小结 176
11.7 实践与练习 176
第12章 网络编程 177
视频讲解:30分钟
12.1 网络编程的基本原理 178
12.1.1 计算机网络 178
12.1.2 TCP/IP协议 179
12.1.3 IP地址简介 179
12.1.4 套接字编程原理 182
12.2 TCP套接字编程 187
12.3 UDP套接字编程 190
12.3.1 数据传输系统调用 191
12.3.2 基于UDP协议的C/S机制的网络
通信的工作原理 192
12.3.3 基于UDP的简单网络通信实例 193
12.4 原始套接字编程 195
12.4.1 原始套接字定义 196
12.4.2 原始套接字系统调用 196
12.4.3 原始套接字的发送与接收 197
12.4.4 报文处理 197
12.5 小结 200
12.6 实践与练习 200
第13章 make编译基础 201
视频讲解:1小时54分钟
13.1 通过实例认识make 202
13.1.1 Makefile的导入 202
13.1.2 make是如何工作的 206
13.1.3 Makefile中使用变量 207
13.1.4 让make自动推导 208
13.1.5 清空目标文件的规则 209
13.2 make概述 209
13.2.1 Makefile中有什么 209
13.2.2 Makefile的文件名 210
13.2.3 包含其他Makefile文件 210
13.2.4 变量MAKEFILES 212
13.2.5 变量MAKEFILE_LIST 213
13.2.6 其他特殊变量 213
13.2.7 Makefile文件的重建 213
13.2.8 重载另外一个Makefile 215
13.2.9 make如何解析Makefile文件 215
13.2.10 总结 216
13.3 Makefile基本规则 217
13.3.1 规则举例 217
13.3.2 规则语法 218
13.3.3 依赖的类型 219
13.3.4 文件名使用通配符 219
13.3.5 目录搜寻 221
13.3.6 Makefile伪目标 226
13.3.7 强制目标(没有命令或依赖的规则) 229
13.3.8 空目标文件 229
13.3.9 Makefile的特殊目标 230
13.3.10 多目标 231
13.3.11 多规则目标 232
13.3.12 静态模式 233
13.3.13 双冒号规则 235
13.3.14 自动产生依赖 236
13.3.15 书写命令 238
13.4 变量的基本操作 242
13.4.1 变量的基础 243
13.4.2 变量中的变量 243
13.4.3 变量高级用法 245
13.4.4 追加变量值 247
13.4.5 override指示符 248
13.4.6 多行变量 248
13.4.7 环境变量 249
13.4.8 目标变量 249
13.4.9 模式变量 250
13.5 条件判断 250
13.5.1 示例 250
13.5.2 语法 251
13.6 基本函数的使用 253
13.6.1 函数的调用语法 253
13.6.2 字符串处理函数 254
13.6.3 文件名操作函数 257
13.6.4 foreach()函数 259
13.6.5 if()函数 260
13.6.6 call()函数 260
13.6.7 origin()函数 261
13.6.8 shell()函数 262
13.6.9 控制make的函数 262
13.7 make的运行 263
13.7.1 make的退出码 263
13.7.2 指定Makefile 263
13.7.3 指定目标 263
13.7.4 检查规则 265
13.7.5 make的参数 265
13.8 隐含规则 267
13.8.1 使用隐含规则 268
13.8.2 隐含规则一览 269
13.8.3 隐含规则使用的变量 270
13.8.4 隐含规则链 271
13.8.5 模式规则 272
13.8.6 后缀规则 275
13.8.7 隐含规则搜索算法 276
13.9 make工具与函数库 277
13.9.1 函数库文件的成员 277
13.9.2 函数库成员的隐含规则 278
13.9.3 函数库文件的后缀规则 278
13.9.4 注意事项 278
13.10 小结 278
13.11 实践与练习 279
第14章 Linux系统下的C语言与
数据库 281
视频讲解:12分钟
14.1 MySQL数据库简介 282
14.2 安装和连接MySQL数据库 282
14.2.1 安装MySQL数据库 282

14.2.2 启动和关闭MySQL 283
14.3 连接操作MySQL 285
14.3.1 MySQL常用数据库操作函数 285
14.3.2 连接MySQL数据 287
14.3.3 查询表记录 288
14.3.4 插入表记录 289
14.3.5 修改表记录 290
14.3.6 删除表记录 290
14.4 Oracle数据库简介 291
14.5 Oracle数据库的安装 292
14.5.1 软硬件要求 292
14.5.2 安装Oracle 11g数据库 295
14.5.3 创建监听和数据库 296
14.6 连接Oracle数据库 300
14.7 小结 302
14.8 实践与练习 302
第15章 集成开发环境 303
视频讲解:13分钟
15.1 Eclipse与CDT简介 304
15.2 安装和配置Eclipse 305
15.2.1 安装Eclipse 305
15.2.2 配置Eclipse的CDT 307
15.3 使用Eclipse开发C代码 308
15.3.1 编写运行Hello World 308
15.3.2 CDT的相关功能 310
15.3.3 调试C/C++的项目 310
15.4 小结 311

第3篇 高 级 应 用
第16章 界面开发基础 315
视频讲解:23分钟
16.1 Linux常用桌面环境 316
16.1.1 面板介绍 316
16.1.2 桌面图标介绍 317
16.1.3 桌面背景 318
16.2 glib库介绍 319
16.2.1 类型定义 319
16.2.2 glib的宏 319
16.2.3 内存管理 320
16.2.4 字符串处理 321
16.2.5 数据结构 323
16.3 GObject对象介绍 325
16.4 图形引擎Cairo介绍 326
16.5 多媒体库介绍 328
16.5.1 元件和插件 328
16.5.2 衬垫 329
16.5.3 数据、缓冲区和事件 329
16.5.4 缓冲区的分配 330
16.5.5 MIME类型和属性 330
16.6 小结 330
16.7 实践与练习 330
第17章 界面布局 331
视频讲解:34分钟
17.1 窗体 332
17.1.1 初始化 332
17.1.2 建立窗口 332
17.1.3 结束应用程序 334
17.1.4 回调函数 334
17.1.5 其他窗体函数 336
17.2 组装盒构件 337
17.2.1 组装盒的原理 337
17.2.2 盒的细节 338
17.2.3 组装盒程序 339
17.2.4 用表组装 343
17.2.5 表组装程序 345
17.3 容器 347
17.3.1 事件盒 347
17.3.2 对齐构件 347
17.3.3 固定容器 348
17.3.4 布局容器 349
17.3.5 框架 350
17.3.6 分栏窗口构件 352
17.3.7 视角 353
17.3.8 滚动窗口 353
17.3.9 按钮盒 355
17.3.10 工具栏 357
17.3.11 笔记本 362
17.4 小结 366
17.5 实践与练习 366
第18章 界面构件开发 367
视频讲解:1小时4分钟
18.1 基本界面构件 368
18.1.1 按钮构件 368
18.1.2 调整对象 372
18.1.3 范围构件 374
18.1.4 标签 381
18.1.5 箭头 384
18.1.6 工具提示对象 386
18.1.7 进度条 386
18.1.8 对话框 390
18.1.9 标尺 391
18.2 杂项构件 394
18.2.1 状态栏 394
18.2.2 文本输入构件 396
18.2.3 微调按钮 398
18.2.4 组合框 404
18.2.5 日历 406
18.2.6 颜色选择 414
18.2.7 文件选择 415
18.3 RC文件 416
18.4 小结 417
18.5 实践与练习 417
第19章 Glade设计程序界面 419
视频讲解:23分钟
19.1 Glade简介 420
19.2 构造图形界面 421
19.2.1 添加窗体 421
19.2.2 添加容器 427
19.2.3 添加构件 433
19.2.4 设置构件属性 436
19.2.5 添加事件和回调 437
19.3 C语言代码联编 438
19.3.1 GtkBuilder代码连接基础 439
19.3.2 GtkBuilder代码连接实例 441
19.4 小结 443
19.5 实践与练习 443



第4篇 项 目 实 战
第20章 MP3音乐播放器 447
视频讲解:13分钟
20.1 GStreamer简介 448
20.2 界面设计 449
20.3 代码设计 451
20.3.1 建立工程文件 451
20.3.2 主程序设计 452
20.3.3 生成playbin对象 453
20.3.4 打开文件 457
20.3.5 播放MP3 458
20.3.6 暂停播放 459
20.3.7 停止播放 459
20.3.8 界面更新 460
20.3.9 播放控制 461
20.4 小结 463
· · · · · · (收起)

读后感

评分

这本书对于C语言的基本语法的描述非常简略,根本不适合初学者入门。关于编译器和调试器的使用上也讲的不清不楚,特别是Linuc命令,不说输入和输出混杂在一起,还不分行,根部看不懂。更有甚者,屏幕截图异常模糊,看不清楚。配套的关盘上的视频讲解不仅照本宣科,而且杂音严重...

评分

这本书对于C语言的基本语法的描述非常简略,根本不适合初学者入门。关于编译器和调试器的使用上也讲的不清不楚,特别是Linuc命令,不说输入和输出混杂在一起,还不分行,根部看不懂。更有甚者,屏幕截图异常模糊,看不清楚。配套的关盘上的视频讲解不仅照本宣科,而且杂音严重...

评分

这本书对于C语言的基本语法的描述非常简略,根本不适合初学者入门。关于编译器和调试器的使用上也讲的不清不楚,特别是Linuc命令,不说输入和输出混杂在一起,还不分行,根部看不懂。更有甚者,屏幕截图异常模糊,看不清楚。配套的关盘上的视频讲解不仅照本宣科,而且杂音严重...

评分

这本书对于C语言的基本语法的描述非常简略,根本不适合初学者入门。关于编译器和调试器的使用上也讲的不清不楚,特别是Linuc命令,不说输入和输出混杂在一起,还不分行,根部看不懂。更有甚者,屏幕截图异常模糊,看不清楚。配套的关盘上的视频讲解不仅照本宣科,而且杂音严重...

评分

这本书对于C语言的基本语法的描述非常简略,根本不适合初学者入门。关于编译器和调试器的使用上也讲的不清不楚,特别是Linuc命令,不说输入和输出混杂在一起,还不分行,根部看不懂。更有甚者,屏幕截图异常模糊,看不清楚。配套的关盘上的视频讲解不仅照本宣科,而且杂音严重...

用户评价

评分

我目前的工作涉及到大量的系统服务开发,对Linux环境下的性能调优和故障排查非常关注。市面上大部分教程在性能方面往往一带而过,或者只是罗列一些`strace`或`gdb`的基础用法。我更希望这本书能深入讲解如何利用Linux内核提供的工具(比如eBPF或perf)来剖析C程序在实际运行时中的瓶颈,尤其是在I/O密集型和CPU密集型任务中的具体优化策略。如果书中能提供一套完整的性能分析流程和案例对比,展示出优化前后的实际性能提升数据,那就太棒了。这本书的“精通”二字,在我看来,就体现在这种对底层细节和实战效率的把控上。

评分

说实话,我拿到这本书的时候,第一印象是它的排版和代码示例非常清晰,这对于学习C语言这种需要严谨逻辑的学科来说至关重要。我之前也尝试过啃一些老外的原版经典教材,但术语和表达方式总是让人感觉隔着一层纱,难以真正消化。这本书的语言风格非常贴近国内开发者的习惯,讲解由浅入深,理论与实践的结合度把握得恰到好处。我特别关注了它在多线程并发处理上的论述,这块内容往往是初学者最容易出错的地方。如果它能提供一些经典的死锁、竞态条件问题的分析和解决思路,对我目前正在做的服务器优化项目将有极大的帮助。我希望它不只是一本“参考手册”,而更像是一位经验丰富的前辈在手把手指导。

评分

我对编程语言的学习路径一直比较偏执,总认为掌握一门语言的“哲学”比记住语法更重要。对于C语言而言,那就是指针、内存布局和类型系统的理解。我非常期待这本书在讲解这些核心概念时,能给出足够多的底层硬件视角,比如栈帧的构造、虚拟内存的映射机制,以及C语言类型是如何映射到机器指令的。如果能结合一些汇编语言的片段来佐证C语言的底层行为,这将极大地提升我对程序运行机制的掌控感。如果它只是重复我们在C标准中学到的那些基础知识,那这本书的价值就会大打折扣。我需要的是那种能让我对“为什么会这样”产生醍醐灌顶感觉的内容。

评分

这本《Linux C从入门到精通》我真是期待已久,听闻它在系统编程和底层开发方面的内容非常扎实,不像市面上很多书那样只停留在表面介绍几个简单的API函数。我最近在研究嵌入式系统开发,对Linux内核和驱动的理解还不够深入,希望这本书能帮我构建一个完整的知识体系。特别是关于内存管理、进程间通信(IPC)以及网络编程这几个模块,我希望能看到更深入的源码剖析和实践案例。如果它能像宣传的那样,不仅教会我们如何调用函数,更能让我们理解背后的原理,那绝对是物超所值。我已经准备好迎接挑战,希望里面的内容能引导我从一个“会用”Linux C的开发者,成长为一个“精通”的系统级程序员。

评分

我一直想尝试开发自己的小型Linux工具集,但苦于找不到一套系统性的学习路线图。这本书的目录结构给我一种很强的“路线图”感觉,似乎每翻过一章,我的能力边界就扩展了一块。我尤其看重它在系统调用(syscall)层面是否有深入的讨论,了解用户空间程序是如何与内核进行交互的,这对于编写健壮的系统级应用至关重要。如果书中能详细解析几个核心的系统调用(如`open`, `read`, `mmap`)的内核实现流程,哪怕是简化版的流程图,对我理解Linux的运行机制都会有莫大的帮助。我希望读完后,我能自信地去阅读和理解任何开源的Linux C项目代码,而不仅仅是停留在调用库函数层面。

评分

评分

评分

评分

大学的Linux编程课本,现在又要在过一遍,可以说Make方面讲的比较细一点,整体上并不好。

评分

想找的不是这本,拿错了将就看了

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 qciss.net All Rights Reserved. 小哈图书下载中心 版权所有