由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]Linux C从入门到精通二2版现代操作系统原理linux系统从入门到精通教程书linux内核设计程序员计算机编
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。 温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货), 关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
内容简介 |
商品基本信息,请以下列介绍为准 | |
图书名称: | Linux C从入门到精通(第2版) |
作者: | 明日科技 |
定价: | 89.80 |
ISBN号: | 9787302498803 |
出版社: | 清华大学出版社 |
编辑** | |
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书***的品*之一。 丛书累计销售180多万册,深受广大开发者喜爱。 4本荣获“全行业优**书”奖,1本荣获清华社“专业**书”一等奖。 绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅。 实用、易懂、资源丰富,被 数百所高校选为专业课教材。 |
内容简介 | |
《Linux C从入门到精通(第2版)》从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了在Linux系统下使用C 语言进行应用程序开发应该掌握的各方面技术。全书共20章,包括Linux系统概述、C语言基础、内存管理、基本编辑器VIM和Emacs、GCC编译器、GDB调试工具、进程控制、进程间通信、文件操作、文件的输入/输出操作、信号及信号处理、网络编程、make编译基础、Linux系统下的C 语言与数据库、集成开发环境、界面开发基础、界面布局、界面构件开发、Glade设计程序界面、MP3 音乐播放器。 |
目录 | |
目 录 第1 篇 基 础 知 识 第1 章 Linux 系统概述 2 视频讲解:12 分钟 1.1 Linux 的起源与发展 3 1.1.1 GNU 项目的前前后后 3 1.1.2 Linux 的诞生 . 3 1.1.3 Linux 的现状 . 4 1.2 Linux 的内核与版本 4 1.2.1 Linux 内核的介绍 . 4 1.2.2 Linux 对硬件平台的支持 . 5 1.2.3 常见Linux 的发行版本 5 1.3 Linux 系统的安装 5 1.3.1 Linux 系统安装的硬件要求 . 6 1.3.2 图形化安装Linux . 6 1.3.3 diyi次启动Linux 系统 11 1.4 小结 13 第2 章 C 语言基础 14 视频讲解:35 分钟 2.1 C 语言概述 . 15 2.2 数据类型 15 2.2.1 基本类型 16 2.2.2 构造类型 18 2.2.3 指针类型 20 2.2.4 空类型 21 2.3 运算符和表达式 21 2.3.1 运算符 21 2.3.2 表达式 23 2.4 函数 23 2.5 程序语句 25 2.5.1 控制语句 26 2.5.2 函数调用语句 26 2.5.3 表达式语句 27 2.5.4 空语句 27 2.5.5 复合语句 27 2.6 预处理命令 27 2.6.1 宏定义 28 2.6.2 文件包含 29 2.7 小结 29 2.8 实践与练习 29 第3 章 内存管理 30 视频讲解:15 分钟 3.1 内存分类 31 3.1.1 动态内存 31 3.1.2 静态内存 31 3.1.3 动态内存与静态内存的区别 32 3.2 内存管理的基本操作 32 3.2.1 分配内存 32 3.2.2 释放内存 35 3.3 链表 35 3.4 小结 37 3.5 实践与练习 37 第4 章 基本编辑器VIM 和Emacs . 38 视频讲解:12 分钟 4.1 初识VIM . 39 4.1.1 VIM 的进入与退出 . 39 4.1.2 VIM 基本模式 . 39 4.2 VIM 的基本操作 . 40 4.2.1 VIM 的命令行模式操作 . 40 4.2.2 VIM 的编辑模式操作 . 42 4.2.3 VIM 的底行模式操作 . 42 4.3 初识Emacs . 43 4.4 Emacs 的基本操作 . 43 4.4.1 启动Emacs 43 4.4.2 基本操作 44 4.5 小结 46 第5 章 GCC 编译器 47 视频讲解:27 分钟 5.1 初识GCC 编译器 48 5.1.1 diyi次编译 48 5.1.2 GCC 选项概述 48 5.1.3 警告 . 49 5.1.4 GCC 调试 50 5.1.5 代码优化 52 5.2 GCC 编译的基本流程 . 53 5.2.1 C 预处理 54 5.2.2 编译 . 54 5.2.3 汇编 . 54 5.2.4 链接 54 5.3 其他编译工具简介 54 5.3.1 C 编译器G . 55 5.3.2 EGCS 55 5.3.3 F2C 和P2C 55 5.4 小结 55 第6 章 GDB 调试工具 . 56 视频讲解:31 分钟 6.1 初识GDB 调试器 57 6.1.1 GDB 调试器概述 . 57 6.1.2 用GDB 调试简单程序 58 6.2 GDB 调试器的基本功能与常用命令 . 59 6.2.1 启动调试程序功能及其命令 60 6.2.2 使用断点功能及其命令 61 6.2.3 检查数据的功能及其命令 63 6.2.4 使用观察窗口功能及其命令 66 6.2.5 检查栈信息功能及其命令 66 6.2.6 检查源代码功能及其命令 67 6.2.7 改变程序的运行功能及其命令 69 6.3 多线程程序调试 70 6.4 Linux 平台上的其他调试工具 71 6.5 小结 71 第2 篇 核 心 技 术 第7 章 进程控制 74 视频讲解:57 分钟 7.1 进程概述 75 7.1.1 进程的定义 75 7.1.2 进程的相关信息 76 7.2 进程的基本操作 77 7.2.1 进程创建 77 7.2.2 进程等待 83 7.2.3 进程结束 87 7.3 多个进程间的关系 89 7.3.1 进程组 89 7.3.2 时间片的分配 90 7.4 线程 91 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 章 进程间通信 100 视频讲解:41 分钟 8.1 进程间通信概述 101 8.1.1 进程间通信的工作原理 .101 8.1.2 进程间通信的主要分类 .101 8.2 管道与命名管道 101 8.2.1 管道基本定义 .102 8.2.2 管道创建和管道关闭 .102 8.2.3 pipe()函数实现管道通信 .102 8.2.4 命名管道基本定义 .105 8.2.5 在Shell 中创建命名管道 .105 8.2.6 mkfifo()函数创建命名管道 .106 8.3 共享内存 108 8.3.1 SYSV 子系统的基本知识 108 8.3.2 共享内存相关操作 .109 8.3.3 共享内存实现进程间通信 .112 8.4 信号量 114 8.4.1 信号量的工作原理 .114 8.4.2 信号量的相关操作 .115 8.4.3 信号量实现进程间通信 .117 8.5 消息队列 119 8.5.1 消息队列的相关操作 .120 8.5.2 消息队列实现进程间通信 .122 8.6 小结 124 8.7 实践与练习 124 第9 章 文件操作 125 视频讲解:37 分钟 9.1 文件初探 126 9.1.1 文件与文件系统的概念 .126 9.1.2 文件的属性 .126 9.1.3 文件的相关信息 .127 9.2 文件的相关操作 128 9.2.1 修改文件属性 .129 9.2.2 复制文件描述符 .132 9.2.3 获取文件信息 .133 9.2.4 文件的其他操作 .134 9.3 特殊文件的操作 135 9.3.1 目录文件的操作 .135 9.3.2 链接文件的操作 .139 9.3.3 设备文件 142 9.4 小结 142 9.5 实践与练习 143 第10 章 文件的输入/输出操作 . 144 视频讲解:30 分钟 10.1 文件I/O 操作概述 . 145 10.1.1 文件描述符简介 145 10.1.2 数据流概述 145 10.2 基于文件描述符的I/O 操作 . 146 10.2.1 文件的打开与关闭 146 10.2.2 文件的读写操作 148 10.2.3 文件的定位 149 10.3 基于数据流的I/O 操作 . 152 10.3.1 文件的打开与关闭 152 10.3.2 字符输入/输出 . 153 10.3.3 字符串输入/输出 . 156 10.3.4 数据块输入/输出 . 157 10.3.5 格式化输入/输出 . 157 10.3.6 操作读写位置的函数 159 10.3.7 C 标准库的I/O 缓冲区 . 161 10.4 小结 163 10.5 实践与练习 163 第11 章 信号及信号处理 . 164 视频讲解:23 分钟 11.1 信号概述 165 11.1.1 在终端中查看常见的信号 165 11.1.2 信号处理 165 11.2 产生信号 166 11.2.1 kill()函数 166 11.2.2 raise()函数 167 11.2.3 alarm()函数 167 11.3 捕捉信号 167 11.3.1 signal()函数 168 11.3.2 sigaction()函数 . 170 11.4 信号的阻塞 171 11.4.1 sigprocmask()函数 . 172 11.4.2 sigsuspend()函数 172 11.4.3 sigpending()函数.172 11.5 信号处理的安全问题 174 11.6 小结 175 11.7 实践与练习 175 第12 章 网络编程 176 视频讲解:30 分钟 12.1 网络编程的基本原理 177 12.1.1 计算机网络 .177 12.1.2 TCP/IP 协议 178 12.1.3 IP 地址简介 178 12.1.4 套接字编程原理 .181 12.2 TCP 套接字编程 186 12.3 UDP 套接字编程 . 189 12.3.1 数据传输系统调用 .190 12.3.2 基于UDP 协议的C/S 机制的网络通信的工 作原理 .191 12.3.3 基于UDP 的简单网络通信实例 .191 12.4 原始套接字编程 194 12.4.1 原始套接字定义 .195 12.4.2 原始套接字系统调用 .195 12.4.3 原始套接字的发送与接收 .196 12.4.4 报文处理 .196 12.5 小结 199 12.6 实践与练习 199 第13 章 make 编译基础 200 视频讲解:1 小时54 分钟 13.1 通过实例认识make . 201 13.1.1 Makefile 的导入 .201 13.1.2 make 是如何工作的 .205 13.1.3 Makefile 中使用变量 .206 13.1.4 让make 自动推导 207 13.1.5 清空目标文件的规则 .208 13.2 make 概述 . 208 13.2.1 Makefile 中有什么 .208 13.2.2 Makefile 的文件名 .209 13.2.3 包含其他Makefile 文件 209 13.2.4 变量MAKEFILES .211 13.2.5 变量MAKEFILE_LIST . 211 13.2.6 其他特殊变量 212 13.2.7 Makefile 文件的重建 . 212 13.2.8 重载另外一个Makefile . 213 13.2.9 make 如何解析Makefile 文件 214 13.2.10 总结 215 13.3 Makefile 基本规则 . 215 13.3.1 规则举例 216 13.3.2 规则语法 216 13.3.3 依赖的类型 217 13.3.4 文件名使用通配符 218 13.3.5 目录搜寻 220 13.3.6 Makefile 伪目标 . 225 13.3.7 强制目标(没有命令或依赖的规则) . 227 13.3.8 空目标文件 228 13.3.9 Makefile 的特殊目标 . 228 13.3.10 多目标 230 13.3.11 多规则目标 231 13.3.12 静态模式 231 13.3.13 双冒号规则 234 13.3.14 自动产生依赖 234 13.3.15 书写命令 236 13.4 变量的基本操作 241 13.4.1 变量的基础 241 13.4.2 变量中的变量 242 13.4.3 变量**用法 244 13.4.4 追加变量值 246 13.4.5 override 指示符 246 13.4.6 多行变量 247 13.4.7 环境变量 247 13.4.8 目标变量 247 13.4.9 模式变量 248 13.5 条件判断 248 13.5.1 示例 249 13.5.2 语法 249 13.6 基本函数的使用 251 13.6.1 函数的调用语法 251 13.6.2 字符串处理函数 252 13.6.3 文件名操作函数 .255 13.6.4 foreach()函数 257 13.6.5 if()函数 .258 13.6.6 call()函数 258 13.6.7 origin()函数 259 13.6.8 shell()函数 260 13.6.9 控制make 的函数 260 13.7 make 的运行 . 261 13.7.1 make 的退出码 .261 13.7.2 **Makefile .261 13.7.3 **目标 .261 13.7.4 检查规则 .263 13.7.5 make 的参数 .263 13.8 隐含规则 265 13.8.1 使用隐含规则 .266 13.8.2 隐含规则一览 .267 13.8.3 隐含规则使用的变量 .268 13.8.4 隐含规则链 .269 13.8.5 模式规则 .270 13.8.6 后缀规则 .273 13.8.7 隐含规则搜索算法 .274 13.9 make 工具与函数库 . 275 13.9.1 函数库文件的成员 .275 13.9.2 函数库成员的隐含规则 .276 13.9.3 函数库文件的后缀规则 .276 13.9.4 注意事项 .276 13.10 小结 277 13.11 实践与练习 277 第14 章 Linux 系统下的C 语言与数据库 278 视频讲解:13 分钟 14.1 MySQL 数据库简介 279 14.2 安装和连接MySQL 数据库 . 279 14.2.1 安装MySQL 数据库 . 279 14.2.2 启动和关闭MySQL 280 14.3 连接操作MySQL 282 14.3.1 MySQL 常用数据库操作函数 282 14.3.2 连接MySQL 数据 . 284 14.3.3 查询表记录 285 14.3.4 插入表记录 286 14.3.5 修改表记录 287 14.3.6 删除表记录 287 14.4 Oracle 数据库简介 . 288 14.5 Oracle 数据库的安装 . 289 14.5.1 软硬件要求 289 14.5.2 安装Oracle 11g 数据库 . 292 14.5.3 创建监听和数据库 293 14.6 连接Oracle 数据库 297 14.7 小结 299 14.8 实践与练习 299 第15 章 集成开发环境 . 300 视频讲解:13 分钟 15.1 Eclipse 与CDT 简介 . 301 15.2 安装和配置Eclipse . 302 15.2.1 安装Eclipse . 302 15.2.2 配置Eclipse 的CDT . 304 15.3 使用Eclipse 开发C 代码 305 15.3.1 编写运行Hello World . 305 15.3.2 CDT 的相关功能 . 307 15.3.3 调试C/C 的项目 307 15.4 小结 308 第3 篇 高 级 应 用 第16 章 界面开发基础 310 视频讲解:23 分钟 16.1 Linux 常用桌面环境 311 16.1.1 面板介绍 311 16.1.2 桌面图标介绍 312 16.1.3 桌面背景 313 16.2 glib 库介绍 . 314 16.2.1 类型定义 .314 16.2.2 glib 的宏 .314 16.2.3 内存管理 .315 16.2.4 字符串处理 .316 16.2.5 数据结构 .318 16.3 GObject 对象介绍 321 16.4 图形引擎Cairo 介绍 . 322 16.5 多媒体库介绍 323 16.5.1 元件和插件 .323 16.5.2 衬垫 324 16.5.3 数据、缓冲区和事件 .324 16.5.4 缓冲区的分配 .325 16.5.5 MIME 类型和属性 .325 16.6 小结 326 16.7 实践与练习 326 第17 章 界面布局 327 视频讲解:34 分钟 17.1 窗体 328 17.1.1 初始化 .328 17.1.2 建立窗口 .328 17.1.3 结束应用程序 .330 17.1.4 回调函数 .330 17.1.5 其他窗体函数 .332 17.2 组装盒构件 333 17.2.1 组装盒的原理 .334 17.2.2 盒的细节 .334 17.2.3 组装盒程序 .335 17.2.4 用表组装 .339 17.2.5 表组装程序 .341 17.3 容器 343 17.3.1 事件盒 .343 17.3.2 对齐构件 .343 17.3.3 固定容器 .344 17.3.4 布局容器 .345 17.3.5 框架 346 17.3.6 分栏窗口构件 .348 17.3.7 视角 349 17.3.8 滚动窗口 349 17.3.9 按钮盒 351 17.3.10 工具栏 353 17.3.11 笔记本 358 17.4 小结 362 17.5 实践与练习 362 第18 章 界面构件开发 . 363 视频讲解:1 小时3 分钟 18.1 基本界面构件 364 18.1.1 按钮构件 364 18.1.2 调整对象 368 18.1.3 范围构件 370 18.1.4 标签 377 18.1.5 箭头 380 18.1.6 工具提示对象 382 18.1.7 进度条 382 18.1.8 对话框 386 18.1.9 标尺 387 18.2 杂项构件 390 18.2.1 状态栏 390 18.2.2 文本输入构件 392 18.2.3 微调按钮 394 18.2.4 组合框 400 18.2.5 日历 402 18.2.6 颜色选择 409 18.2.7 文件选择 410 18.3 RC 文件 411 18.4 小结 412 18.5 实践与练习 412 第19 章 Glade 设计程序界面 413 视频讲解:23 分钟 19.1 Glade 简介 414 19.2 构造图形界面 415 19.2.1 添加窗体 415 19.2.2 添加容器 421 19.2.3 添加构件 426 19.2.4 设置构件属性 430 19.2.5 添加事件和回调 .431 19.3 C 语言代码联编 . 432 19.3.1 GtkBuilder 代码连接基础 433 19.3.2 GtkBuilder 代码连接实例 . 435 19.4 小结 437 19.5 实践与练习 437 第4 篇 项 目 实 战 第20 章 MP3 音乐播放器 440 视频讲解:27 分钟 20.1 GStreamer 简介 441 20.2 界面设计 442 20.3 代码设计 444 20.3.1 建立工程文件 .444 20.3.2 主程序设计 .445 20.3.3 生成playbin 对象 .446 20.3.4 打开文件 450 20.3.5 播放MP3 . 451 20.3.6 暂停播放 452 20.3.7 停止播放 452 20.3.8 界面更新 453 20.3.9 播放控制 454 20.4 小结 456 |
作者简介 | |
明日科技,是一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了“从入门到精通”“软件开发实战1200例”“软件开发实战宝典”“软件项目开发全程实录”等系列丛书,是国内**的编程图书品*。 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格