《Linux C编程从初学到精通》图书介绍

图书名称: 《Linux C编程从初学到精通》

图书作者: 华清远见

出版单位: 电子工业出版社

丛书名称: 华清远见系列图书

全书章节: 共17章

出版日期: 2011年4月

分享到:

  • 编辑推荐

    · 多年嵌入式人才培养及项目研发经验总结· 数百家企业嵌入式研发岗位人才需求汇总

    · 数十所嵌入式专业大学院校教学现状调研· 侧重实践及案例分析并辅以代码加以讲解

  • 图书简介

    《linux c编程从初学到精通》深入浅出、循序渐进地讲解了linux平台下的c程序设计,并通过大量的程序实例,以及综合开发案例的演示,帮助读者快速掌握linux下c语言编程的方法和技巧。

    《linux c编程从初学到精通》内容翔实,共分为三大部分。第一部分为基础篇,共有5章,主要讲解了linux系统的概述、c语言编程基础、linux下的两种常用文本编辑器vi和emacs、程序编译器gcc和调试器gdb,以及make管理工具。第二部分为提高篇,共有7章,主要讲解了linux系统下各种操作的系统调用,包括文件操作、进程控制、进程间通信、网络编程、gtk+图形界面编程等。第三部分为实践篇,共有5章,分别为5个不同的linux平台下c程序开发的综合案例,向读者详细阐述了linux文件操作、gtk+图形界面编程、linux网络编程,以及基于linux平台的嵌入式软件开发的方法和技巧。

    《linux c编程从初学到精通》是由作者根据多年来的开发工作经验编著而成,语言通俗易懂,内容丰富,注重实例讲解,知识涵盖面广。非常适合linux平台下c语言编程的初学者以及高校本科生、研究生阅读,也适合在linux系统下进行c程序开发的工程师查阅和学习。

  • 图书目录

    第1部分 基础篇

    第1章 linux系统概述

    1.1 什么是linux

    1.2 linux系统特点及主要功能

    1.2.1 linux系统特点

    1.2.2 linux系统的主要功能

    1.3 linux的内核版本和发行版本

    1.4 系统的安装

    1.4.1 系统安装前的准备工作

    1.4.2 从光盘安装linux

    1.4.3 从硬盘安装linux

    1.4.4 在虚拟机下安装linux

    1.5 shell的使用

    1.5.1 shell简介

    1.5.2 常见shell的种类

    1.5.3 shell的简单使用

    1.5.4 通配符

    1.5.5 引号

    1.5.6 注释符

    1.6 linux常用命令

    1.6.1 与目录相关的命令

    1.6.2 与文件相关的命令

    1.6.3 与网络服务相关的命令

    1.7 本章小结

    实战演练

    第2章 c语言编程基础

    2.1 c语言的历史背景

    2.2 c语言的特点

    2.3 c语言的基本数据类型

    2.3.1 整型

    2.3.2 实型

    2.3.3 字符型

    2.4 运算符与表达式

    2.4.1 算术运算符与算术表达式

    2.4.2 赋值运算符与赋值表达式

    2.4.3 逗号运算符与逗号表达式

    2.5 c程序的3种基本结构

    2.5.1 顺序结构

    2.5.2 选择结构

    2.5.3 循环结构

    2.6 c语言中的数据输入与输出

    2.6.1 字符输出函数putchar

    2.6.2 字符输入函数getchar

    2.6.3 格式输出函数printf

    2.6.4 格式输入函数scanf

    2.4 函数

    2.7.1 函数的定义

    2.7.2 函数的调用

    2.7.3 变量的存储类别

    2.8 数组

    2.8.1 一维数组的定义和使用

    2.8.2 二维数组的定义和使用

    2.8.3 字符数组和字符串

    2.8.4 常用字符串处理函数

    2.9 指针

    2.9.1 地址和指针

    2.9.2 指针的定义和使用

    2.9.3 数组与指针

    2.9.4 字符串与指针

    2.9.5 指向函数的指针

    2.10 结构体和共用体

    2.10.1 定义和引用结构体

    2.10.2 结构体数组

    2.10.3 指向结构体的指针

    2.10.4 共用体

    2.10.5 使用typedef定义类型

    2.11 链表

    2.11.1 链表概述

    2.11.2 建立动态单向链表

    2.11.3 单向链表的输出

    2.11.4 对单向链表的删除操作

    2.11.5 对单向链表的插入操作

    2.11.6 循环链表

    2.11.7 双向链表

    2.12 位运算符和位运算

    2.12.1 “按位与”运算符(&)

    2.12.2 “按位或”运算符(|)

    2.12.3 “取反”运算符(~)

    2.12.4 “异或”运算符(^)

    2.12.5 移位运算符(<<和>>)

    2.12.6 位域

    2.13 C语言预处理命令

    2.13.1 宏定义

    2.13.2 文件包含

    2.13.3 条件编译

    2.13.4 #error等其他常用预处理命令

    2.14 本章小结

    实战演练

    第3章 vi与Emacs编辑器

    3.1 vi的使用

    3.1.1 启动与退出vi

    3.1.2 vi的命令行模式

    3.1.3 vi的插入模式

    3.1.4 vi的底行模式

    3.2 vi使用实例

    3.3 Emacs的使用

    3.3.1 启动与退出Emacs

    3.3.2 Emacs下的基本操作

    3.4 Emacs使用实例

    3.5 本章小结

    实战演练

    第4章 gcc编译器与gdb调试器

    4.1 gcc编译器简介

    4.2 如何使用gcc

    4.2.1 gcc编译初步

    4.2.2 警告提示功能

    4.2.3 优化gcc

    4.2.4 连接库

    4.2.5 同时编译多个源程序

    4.2.6 管道

    4.2.7 调试选项

    4.3 gdb调试器

    4.3.1 gdb简介

    4.3.2 gdb常用命令

    4.3.3 gdb调试初步

    4.4 gdb的使用详解

    4.4.1 调用gdb

    4.4.2 使用断点

    4.4.3 查看运行时数据

    4.4.4 查看源程序

    4.4.5 改变程序的执行

    4.5 xxgdb调试器简介

    4.6 本章小结

    实战演练

    第5章 make的使用和Makefile的编写

    5.1 什么是make

    5.1.1 make机制概述

    5.1.2 make与Makefile的关系

    5.2 Makefile的书写规则

    5.2.1 Makefile的基本语法规则

    5.2.2 在规则中使用通配符

    5.2.3 伪目标

    5.2.4 多目标

    5.2.5 自动生成依赖性

    5.3 Makefile的命令

    5.4 变量

    5.4.1 变量的基础

    5.4.2 赋值变量

    5.4.3 define关键字

    5.4.4 override指示符

    5.4.5 目标变量和模式变量

    5.5 常用函数调用

    5.5.1 字符串处理函数

    5.5.2 文件名操作函数

    5.5.3 循环函数

    5.5.4 条件判断函数

    5.5.5 其他常用函数

    5.6 隐式规则

    5.6.1 隐式规则举例

    5.6.2 隐式规则中的变量

    5.6.3 使用模式规则

    5.7 本章小结

    实战演练

    第2部分 提高篇

    第6章 文件I/O操作

    6.1 Linux文件系统简介

    6.1.1 Linux的文件系统结构

    6.1.2 文件类型

    6.1.3 文件访问权限

    6.2 基于文件描述符的I/O操作

    6.2.1 文件描述符

    6.2.2 标准输入、标准输出和标准出错

    6.2.3 文件重定向

    6.2.4 文件的创建、打开与关闭

    6.2.5 文件的定位

    6.2.6 文件的读写

    6.3 文件的属性操作

    6.3.1 改变文件访问权限

    6.3.2 改变文件所有者

    6.3.3 重命名

    6.3.4 修改文件长度

    6.4 文件的其他操作

    6.4.1 stat、fstat和lstat函数

    6.4.2 dup和dup2函数

    6.4.3 fcntl函数

    6.4.4 sync和fsync函数

    6.5 特殊文件的操作

    6.5.1 目录文件的操作

    6.5.2 链接文件的操作

    6.5.3 管道文件的操作

    6.5.4 设备文件

    6.6 本章小结

    实战演练

    第7章 基于流的I/O操作

    7.1 流与缓存

    7.1.1 流和FILE对象

    7.1.2 标准输入、标准输出和标准出错

    7.1.3 缓存

    7.1.4 对缓存的操作

    7.2 流的打开与关闭

    7.2.1 流的打开

    7.2.2 流的关闭

    7.2.3 流关闭前的工作

    7.3 流的读写

    7.3.1 基于字符的I/O

    7.3.2 基于行的I/O

    7.3.3 直接I/O

    7.3.4 格式化I/O

    7.4 本章小结

    实战演练

    第8章 进程控制

    8.1 进程的基本概念

    8.1.1 Linux进程简介

    8.1.2 进程与作业

    8.1.3 进程标识

    8.2 进程控制的相关函数

    8.2.1 fork和vfork函数

    8.2.2 exec函数

    8.2.3 exit和_exit函数

    8.2.4 wait和waitpid函数

    8.2.5 进程的一生

    8.2.6 用户ID和组ID

    8.2.7 system函数

    8.3 多个进程间的关系

    8.3.1 进程组

    8.3.2 会话期

    8.3.3 控制终端

    8.4 本章小结

    实战演练

    第9章 信号

    9.1 Linux信号简介

    9.1.1 信号的基本概念

    9.1.2 信号处理机制

    9.2 信号操作的相关函数

    9.2.1 信号的处理

    9.2.2 信号的发送

    9.2.3 信号的阻塞

    9.2.4 计时器与信号

    9.3 本章小结

    实战演练

    第10章 进程间通信

    10.1 进程间通信简介

    10.2 管道

    10.2.1 管道的概念

    10.2.2 管道的创建与关闭

    10.2.3 管道的读写

    10.3 命名管道

    10.3.1 命名管道的概念

    10.3.2 命名管道的创建

    10.3.3 命名管道的读写

    10.4 消息队列

    10.4.1 消息队列的概念

    10.4.2 消息队列的创建与打开

    10.4.3 消息队列的读写

    10.4.4 获得或设置消息队列属性

    10.5 共享内存

    10.5.1 共享内存的概念

    10.5.2 共享内存的相关操作

    10.6 信号量

    10.6.1 信号量的概念

    10.6.2 信号量集的相关操作

    10.7 本章小结

    实战演练

    第11章 网络编程

    11.1 网络编程的基础知识

    11.1.1 计算机网络体系结构

    11.1.2 传输控制协议TCP

    11.1.3 用户数据报协议UDP

    11.1.4 客户机/服务器模式

    11.2 套接口编程基础

    11.2.1 什么是套接口

    11.2.2 端口号的概念

    11.2.3 套接口的数据结构

    11.2.4 基本函数

    11.3 TCP套接口编程

    11.3.1 TCP套接口通信工作流程

    11.3.2 TCP套接口Client/Server程序实例

    11.4 UDP套接口编程

    11.4.1 UDP套接口通信工作流程

    11.4.2 UDP套接口Client/Server程序实例

    11.5 原始套接口编程

    11.5.1 原始套接口的创建

    11.5.2 原始套接口程序实例

    11.6 本章小结

    实战演练

    第12章 Linux图形界面编程

    12.1 Linux下的图形界面编程简介

    12.1.1 Qt简介

    12.1.2 GTK+简介

    12.2 界面基本元件

    12.2.1 一个简单的例子

    12.2.2 窗口

    12.2.3 标签

    12.2.4 按钮

    12.2.5 文本框

    12.3 界面布局元件

    12.3.1 表格

    12.3.2 框

    12.3.3 窗格

    12.4 其他常用元件

    12.4.1 进度条、微调按钮、组合框

    12.4.2 单选按钮、复选按钮

    12.4.3 下拉菜单

    12.5 信号与回调函数

    12.6 本章小结

    实战演练

    第3部分 实战篇

    第13章 设计Linux下的计算器

    13.1 软件功能分析

    13.2 程序模块的划分

    13.3 软件的具体实现

    13.3.1 头文件

    13.3.2 十六进制界面显示函数

    13.3.3 十进制界面显示函数

    13.3.4 八进制界面显示函数

    13.3.5 二进制界面显示函数

    13.3.6 进制间转换函数

    13.3.7 信号处理模块

    13.3.8 主函数

    13.4 软件使用效果演示

    13.5 本章小结

    第14章 Linux平台下聊天软件的设计

    14.1 软件功能概述

    14.1.1 服务器端功能需求

    14.1.2 客户端功能需求

    14.1.3 错误处理需求

    14.2 Glade集成开发工具简介

    14.3 软件功能模块划分

    14.3.1 服务器功能模块划分

    14.3.2 客户端功能模块划分

    14.3.3 消息标识的定义

    14.3.4 消息结构体的设计

    14.4 服务器程序的具体实现

    14.4.1 服务器消息处理流程

    14.4.2 服务器主要函数和变量

    14.4.3 服务器消息处理模块的设计与实现

    14.4.4 服务器数据存储的方法

    14.4.5 用户注册流程

    14.5 客户端程序的具体实现

    14.5.1 客户端操作流程

    14.5.2 客户端发送和接收消息流程

    14.5.3 客户端主要函数和变量

    14.5.4 客户端功能模块的设计与实现

    14.6 聊天软件使用效果演示

    14.7 本章小结

    第15章 Linux远程管理工具的设计

    15.1 软件功能概述

    15.1.1 Webmin简介

    15.1.2 软件总体设计

    15.2 服务器端程序设计

    15.2.1 服务器端工作流程

    15.2.2 系统用户管理操作

    15.2.3 系统用户组的管理操作

    15.2.4 系统服务启动管理

    15.2.5 DNS管理操作

    15.2.6 Apache服务管理操作

    15.2.7 FTP服务管理操作

    15.3 客户端程序

    15.3.1 连接界面

    15.3.2 主界面

    15.4 本章小结

    第16章 Linux下简易防火墙软件的设计

    16.1 Netfilter基础

    16.1.1 什么是Netfilter

    16.1.2 Netfilter的HOOK机制

    16.1.3 HOOK的调用

    16.1.4 HOOK的实现

    16.1.5 IPTables简介

    16.1.6 Netfilter可以实现的控制功能

    16.2 软件设计概述

    16.2.1 软件整体框架

    16.2.2 管理端的设计

    16.2.3 控制端的设计

    16.3 用Netfilter设计控制端功能模块

    16.3.1 ICMP管理控制模块

    16.3.2 FTP管理控制模块

    16.3.3 HTTP管理控制模块

    16.3.4 模块的编译、加载与卸载

    16.4 软件功能测试

    16.5 本章小结

    第17章 基于Linux的嵌入式家庭网关远程交互操作平台的设计

    17.1 嵌入式技术简介

    17.1.1 嵌入式系统的概念

    17.1.2 嵌入式操作系统

    17.1.3 嵌入式处理器

    17.2 家庭网关的概念及其网络体系结构

    17.2.1 智能家庭网络的概念

    17.2.2 家庭网关的远程交互操作技术简介

    17.2.3 嵌入式家庭网关的网络体系结构

    17.3 嵌入式家庭网关的开发平台

    17.3.1 S3C2410微处理器简介

    17.3.2 交叉编译环境的建立

    17.4 远程交互平台的设计

    17.4.1 应用软件的开发模式

    17.4.2 嵌入式Web服务器

    17.4.3 通用网关接口CGI

    17.5 Linux下软件模块的具体实现

    17.5.1 登录验证模块

    17.5.2 串口通信模块

    17.5.3 中央空调控制模块

    17.5.4 智能水表数据采集模块

    17.5.5 试验结果

    17.6 本章小结

    .....

  • 图书下载

    ·《Linux C编程从初学到精通》 - -第1章 Linux系统概述

    ·《Linux C编程从初学到精通》 - -第2章 C语言编程基础

    ·《Linux C编程从初学到精通》 - -第3章 vi与Emacs编辑器

  • 上课时间地点

    本课程每期班限额15名,报满即停止报名,请提前在线报名(点击这里)或电话预约。

    ◆ 时间:根据报名人数确定,需提前预约。

    ◆ 地点:北京、上海、深圳、成都、南京、武汉、西安、广州、沈阳
    华清远见保留开课时间调整的权利,欢迎来电洽询 400-611-6270

  • 课程推荐

    ·嵌入式(Linux+Android)长期就业培训班(4个月)

    ·嵌入式Linux应用开发培训班

    ·嵌入式Linux系统开发培训班

    ·嵌入式Linux驱动开发培训班

    ·全国高校3G嵌入式师资培训班