书籍详情
嵌入式Linux系统编程
作者:秦立春,周中孝 著; 深圳信盈达电子有限公司 编
出版社:电子工业出版社
出版时间:2014-08-01
ISBN:9787121230257
定价:¥49.80
购买这本书可以去
内容简介
本书是配合Linux系统程序设计的指导教材,独立于任何Linux系统编程的教科书。主要内容有:Linux基础知识,包括基本命令、vi编辑器的用法、Shell编程;Linux环境下程序的编译与调试,包括gcc/g++的用法、Makefile的编写、gdb调试器的基本用法等;Linux文件目录操作;Linux多进程的控制;Linux环境下信号的处理;系统各进程间通信方式;Linux多线程,包括线程的同步与互斥;网络Socket编程。本书涵盖了Linux下应用层编程的全面知识,并且讲解清晰易懂。通过详细的示例,从零开始,由浅入深、循序渐进地指导初学者掌握Linux系统编程,培养读者实际分析问题和编程的能力,提高读者和学生的综合素质。
作者简介
深圳信盈达电子有限公司、是一家专注于单片机、ARM、嵌入式产品开发和技术培训的高新技术服务企业,公司下设开发部和技术培训部。公司开发部为国内外众多客户开发多款基于嵌入式单片机、ARM等技术的整套方案和高性能产品,技术培训部提供优秀的单片机、ARM、嵌入式产品开发工程师培训。同时为众多工程师,各大师专院校提供实验器材及技术培训课程!
目录
第1章Linux基础知识
1.1Linux的历史
1.2Linux目录结构
1.3Linux常用命令
1.3.1su(用户切换)
1.3.2useradd(添加用户)
1.3.3passwd(修改密码)
1.3.4进程相关(系统管理)命令
1.3.5磁盘相关命令(fdisk)
1.3.6pwd(显示工作目录)
1.3.7cd(改变工作目录)
1.3.8ls(查看文件/目录)
1.3.9mkdir(创建目录)
1.3.10cp(文件/目录复制)
1.3.11mv(文件/目录改名、移动)
1.3.12rm(文件/目录删除)
1.3.13cat(查看文件内容)
1.3.14more(分页显示文件内容)
1.3.15less(分页显示文件内容)
1.3.16管道与命令替换
1.3.17umask(文件/目录创建掩码)
1.3.18chgrp(改变文件/目录所属的组)
1.3.19chown(更改某个文件/目录的所有者和属组)
1.3.20chmod(修改文件权限)
1.3.21find(文件查找)
1.3.22locate(快速文件查找)
1.3.23ln(建立符号链接)
1.3.24whereis和which(查找命令所在目录)
1.3.25grep(搜索文件内容)
1.3.26tar(压缩解压)
1.3.27gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)
1.3.28unzip(winzip文件解压缩)
1.3.29ifconfig及网络相关命令
1.3.30Linux下编程环境
1.4vi编辑器
1.5Linux常用技巧
1.5.1使用“Tab”键
1.5.2Ret Hat Linux启动到字符界面(不启动XWindow)
1.5.3挂接USB闪存
1.5.4不用samba或ftp,利用VM自身实现本机与虚拟机的文件共享
1.5.5其他常用命令
1.5.6vi换行自动缩进对齐以及在vim中设置多个窗口
1.5.7Shell编程
第2章Linux环境下的编译与调试
2.1gcc/g++编译器
2.1.1gcc/g++编译过程
2.1.2静态库和动态库
2.1.3gcc警告和优化选项
2.2make工程管理器和Makefile
2.2.1Makefile中特殊处理与伪目标
2.2.2变量、规则与函数
2.3gdb调试器
2.3.1gdb的常用命令
2.3.2gdb应用举例
第3章Linux文件目录操作
3.1基于文件指针的文件操作(缓冲)
3.1.1文件的创建、打开与关闭
3.1.2读写文件
3.1.3文件定位
3.1.4标准输入/输出流
3.1.5目录操作
3.2基于文件描述符的文件操作(非缓冲)
3.2.1文件描述符
3.2.2打开、创建和关闭文件
3.2.3读写文件
3.2.4改变文件大小
3.2.5文件定位
3.2.6原子操作
3.2.7进一步理解文件描述符
3.2.8文件描述符的复制
3.2.9文件的锁定
3.2.10获取文件信息
3.2.11access函数
3.2.12标准输入/输出文件描述符
3.2.13时间和日期相关函数
3.2.14处理的模型(补充)
3.2.15串口编程
3.2.16日志
第4章Linux多进程
4.1Linux进程概述
4.1.1进程标识
4.1.2进程的用户ID与组ID(进程的运行身份)
4.1.3进程的状态
4.1.4Linux下的进程结构及管理
4.2Linux进程的创建与控制
4.2.1fork函数
4.2.2进程的终止
4.2.3wait和waitpid函数
4.2.4exec函数族
4.2.5system函数
4.2.6popen函数
4.3守护进程
第5章Linux信号处理
5.1信号概念
5.2signal信号处理机制
5.3sigaction信号处理机制
5.3.1信号处理情况分析
5.3.2sigaction信号处理注册
5.3.3sigprocmask信号阻塞
5.4用程序发送信号
5.4.1kill和raise信号发送函数
5.4.2sigqueue信号发送函数
5.5计时器与信号
5.5.1睡眠函数
5.5.2时钟处理
第6章进程间通信
6.1进程间通信(IPC)简介
6.2标准管道流
6.3名管道(PIPE)
6.4命名管道(FIFO)
6.4.1创建、删除FIFO文件
6.4.2打开、关闭FIFO文件
6.4.3读写FIFO
6.5内存映射
6.6System V共享内存机制
6.7消息队列
6.8信号量
6.8.1System V IPC机制:信号量
6.8.2Posix有名信号量
第7章Linux多线程
7.1Linux多线程概述
7.1.1多线程概述
7.1.2线程分类
7.1.3线程创建的Linux实现
7.2线程的创建和退出
7.3线程的等待退出
7.3.1等待线程退出
7.3.2线程的取消
7.3.3线程终止清理函数
7.4线程的互斥
7.5线程的同步
7.5.1条件变量
7.5.2信号灯
7.6生产者消费者问题
7.7线程的属性
第8章Linux网络编程
8.1Linux网络编程介绍
8.1.1TCP/IP概述
8.1.2OSI参考模型及TCP/IP参考模型
8.1.3TCP
8.1.4UDP
8.1.5协议的选择
8.2网络相关概念
8.2.1Socket概念
8.2.2Socket类型
8.2.3Socket的信息数据结构
8.2.4数据存储优先顺序的转换
8.2.5地址格式转化
8.2.6名字地址转化
8.3Socket编程
8.3.1使用TCP的流程图
8.3.2使用UDP的流程图
8.3.3设置套接口的选项setsockopt的用法
第9章系统编程的例子
附录AC语言文件操作详解
附录B内存映射和普通文件访问的区别
附录Cping命令解析
附录D大端小端
1.1Linux的历史
1.2Linux目录结构
1.3Linux常用命令
1.3.1su(用户切换)
1.3.2useradd(添加用户)
1.3.3passwd(修改密码)
1.3.4进程相关(系统管理)命令
1.3.5磁盘相关命令(fdisk)
1.3.6pwd(显示工作目录)
1.3.7cd(改变工作目录)
1.3.8ls(查看文件/目录)
1.3.9mkdir(创建目录)
1.3.10cp(文件/目录复制)
1.3.11mv(文件/目录改名、移动)
1.3.12rm(文件/目录删除)
1.3.13cat(查看文件内容)
1.3.14more(分页显示文件内容)
1.3.15less(分页显示文件内容)
1.3.16管道与命令替换
1.3.17umask(文件/目录创建掩码)
1.3.18chgrp(改变文件/目录所属的组)
1.3.19chown(更改某个文件/目录的所有者和属组)
1.3.20chmod(修改文件权限)
1.3.21find(文件查找)
1.3.22locate(快速文件查找)
1.3.23ln(建立符号链接)
1.3.24whereis和which(查找命令所在目录)
1.3.25grep(搜索文件内容)
1.3.26tar(压缩解压)
1.3.27gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)
1.3.28unzip(winzip文件解压缩)
1.3.29ifconfig及网络相关命令
1.3.30Linux下编程环境
1.4vi编辑器
1.5Linux常用技巧
1.5.1使用“Tab”键
1.5.2Ret Hat Linux启动到字符界面(不启动XWindow)
1.5.3挂接USB闪存
1.5.4不用samba或ftp,利用VM自身实现本机与虚拟机的文件共享
1.5.5其他常用命令
1.5.6vi换行自动缩进对齐以及在vim中设置多个窗口
1.5.7Shell编程
第2章Linux环境下的编译与调试
2.1gcc/g++编译器
2.1.1gcc/g++编译过程
2.1.2静态库和动态库
2.1.3gcc警告和优化选项
2.2make工程管理器和Makefile
2.2.1Makefile中特殊处理与伪目标
2.2.2变量、规则与函数
2.3gdb调试器
2.3.1gdb的常用命令
2.3.2gdb应用举例
第3章Linux文件目录操作
3.1基于文件指针的文件操作(缓冲)
3.1.1文件的创建、打开与关闭
3.1.2读写文件
3.1.3文件定位
3.1.4标准输入/输出流
3.1.5目录操作
3.2基于文件描述符的文件操作(非缓冲)
3.2.1文件描述符
3.2.2打开、创建和关闭文件
3.2.3读写文件
3.2.4改变文件大小
3.2.5文件定位
3.2.6原子操作
3.2.7进一步理解文件描述符
3.2.8文件描述符的复制
3.2.9文件的锁定
3.2.10获取文件信息
3.2.11access函数
3.2.12标准输入/输出文件描述符
3.2.13时间和日期相关函数
3.2.14处理的模型(补充)
3.2.15串口编程
3.2.16日志
第4章Linux多进程
4.1Linux进程概述
4.1.1进程标识
4.1.2进程的用户ID与组ID(进程的运行身份)
4.1.3进程的状态
4.1.4Linux下的进程结构及管理
4.2Linux进程的创建与控制
4.2.1fork函数
4.2.2进程的终止
4.2.3wait和waitpid函数
4.2.4exec函数族
4.2.5system函数
4.2.6popen函数
4.3守护进程
第5章Linux信号处理
5.1信号概念
5.2signal信号处理机制
5.3sigaction信号处理机制
5.3.1信号处理情况分析
5.3.2sigaction信号处理注册
5.3.3sigprocmask信号阻塞
5.4用程序发送信号
5.4.1kill和raise信号发送函数
5.4.2sigqueue信号发送函数
5.5计时器与信号
5.5.1睡眠函数
5.5.2时钟处理
第6章进程间通信
6.1进程间通信(IPC)简介
6.2标准管道流
6.3名管道(PIPE)
6.4命名管道(FIFO)
6.4.1创建、删除FIFO文件
6.4.2打开、关闭FIFO文件
6.4.3读写FIFO
6.5内存映射
6.6System V共享内存机制
6.7消息队列
6.8信号量
6.8.1System V IPC机制:信号量
6.8.2Posix有名信号量
第7章Linux多线程
7.1Linux多线程概述
7.1.1多线程概述
7.1.2线程分类
7.1.3线程创建的Linux实现
7.2线程的创建和退出
7.3线程的等待退出
7.3.1等待线程退出
7.3.2线程的取消
7.3.3线程终止清理函数
7.4线程的互斥
7.5线程的同步
7.5.1条件变量
7.5.2信号灯
7.6生产者消费者问题
7.7线程的属性
第8章Linux网络编程
8.1Linux网络编程介绍
8.1.1TCP/IP概述
8.1.2OSI参考模型及TCP/IP参考模型
8.1.3TCP
8.1.4UDP
8.1.5协议的选择
8.2网络相关概念
8.2.1Socket概念
8.2.2Socket类型
8.2.3Socket的信息数据结构
8.2.4数据存储优先顺序的转换
8.2.5地址格式转化
8.2.6名字地址转化
8.3Socket编程
8.3.1使用TCP的流程图
8.3.2使用UDP的流程图
8.3.3设置套接口的选项setsockopt的用法
第9章系统编程的例子
附录AC语言文件操作详解
附录B内存映射和普通文件访问的区别
附录Cping命令解析
附录D大端小端
猜您喜欢