高等院校嵌入式人才培养规划教材

嵌入式Linux C语言开发

分享 推荐 0 收藏 9 阅读 5.1K
华清远见嵌入式学院 , 曾宏安 (主编) 978-7-115-21115-6

关于本书的内容有任何问题,请联系 左仲海

1、教材考虑了高职学生的专业基础知识水平和学校教学实际要求,内容上进行了压缩,按照学校开课方式设置知识模块,增加教学实例,并提供相应的素材。
¥29.00 ¥24.65 (8.5 折)
立即购买 申请样书
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

  本书介绍开发工具和Linux C语言基础、嵌入式Linux C语言高级用法、内核常见数据结构的解析与应用、嵌入式Linux编程基础、文件I/O操作相关的C语言应用、网络通信相关的C语言应用等,并设置了嵌入式Linux C函数参考附录。学习本书前应掌握C语言程序设计的基本知识。
  本书可作为高职高专院校嵌入式技术专业以及电子信息类其他专业的教材,也可供中等职业技术院校使用。

目录

目 录

第 1章 嵌入式Linux C语言开发工具 1
1.1 嵌入式Linux下C语言概述 1
1.1.1 C语言简史 1
1.1.2 C语言特点 2
1.1.3 嵌入式Linux C语言编程环境 3
1.2 嵌入式Linux编辑器vi的使用 3
1.2.1 vi的基本模式 4
1.2.2 vi的基本操作 4
1.2.3 vi的使用实例分析 7
1.3 嵌入式Linux编译器GCC的使用 9
1.3.1 GCC概述 9
1.3.2 GCC编译流程分析 10
1.3.3 GCC警告提示 12
1.3.4 GCC使用库函数 14
1.3.5 GCC代码优化 15
1.4 嵌入式Linux调试器GDB的使用 16
1.4.1 GDB使用实例 16
1.4.2 设置/删除断点 19
1.4.3 数据相关命令 20
1.4.4 调试运行环境相关命令 20
1.4.5 堆栈相关命令 21
1.5 make工程管理器 21
1.5.1 Makefile基本结构 22
1.5.2 Makefile变量 23
1.5.3 Makefile规则 26
1.5.4 make使用 27
1.6 eclipse集成开发环境 28
1.6.1 eclipse简介 28
1.6.2 eclipse 相关术语 28
1.6.3 安装eclipse集成开发环境(假设宿主机环境为ubuntu8.10) 30
1.6.4 eclipse的使用 31
小结 41
思考与练习 42

第 2章 嵌入式Linux C语言基础 43
2.1 ANSI C与GNU C 43
2.1.1 ANSI C简介 43
2.1.2 GNU C简介 44
2.2 基本数据类型 45
2.2.1 整型家族 45
2.2.2 实型家族 47
2.2.3 字符型家族 48
2.2.4 枚举家族 49
2.2.5 指针家族 50
2.3 变量与常量 51
2.3.1 变量的定义 51
2.3.2 typedef 57
2.3.3 常量的定义 58
2.4 运算符与表达式 59
2.4.1 算术运算符和表达式 59
2.4.2 赋值运算符和表达式 61
2.4.3 逗号运算符和表达式 63
2.4.4 位运算符和表达式 63
2.4.5 关系运算符和表达式 65
2.4.6 逻辑运算符和表达式 66
2.4.7 sizeof操作符 68
2.4.8 条件运算符 69
2.4.9 运算符优先级总结 70
2.5 程序结构和控制语句 71
2.5.1 C语言程序结构 71
2.5.2 C语言控制语句 72
2.6 数组、结构体和指针 78
2.6.1 数组 78
2.6.2 结构体 83
2.6.3 指针 85
2.7 函数 98
2.7.1 概述 98
2.7.2 函数定义和声明 99
2.7.3 函数的参数、返回值和调用方法 100
2.8 attribute机制介绍 102
2.9 系统调用和应用程序编程接口 108
2.9.1 系统调用 108
2.9.2 应用程序编程接口(API) 109
2.9.3 系统命令 109
小结 110
思考与练习 110

第3章 嵌入式Linux C语言高级用法 111
3.1 预处理 111
3.1.1 预定义 111
3.1.2 文件包含 117
3.1.3 条件编译 117
3.2 C语言中的内存分配 119
3.2.1 C语言程序所占内存分类 119
3.2.2 堆和栈的区别 120
3.3 程序的可移植性考虑 121
3.3.1 字长和数据类型 121
3.3.2 数据对齐 122
3.3.3 字节顺序 122
3.4 C语言和汇编语言的接口 123
3.4.1 内联汇编的语法 123
3.4.2 编译器优化介绍 126
3.4.3 C语言关键字volatile 126
3.4.4 “memory”描述符 126
小结 127
思考与练习 127

第4章 嵌入式Linux内核常见数据结构 128
4.1 链表 128
4.1.1 单向链表 129
4.1.2 双向链表 132
4.1.3 循环链表 133
4.1.4 ARM Linux中链表使用实例 134
4.2 树、二叉树、平衡树 136
4.2.1 树的定义 136
4.2.2 二叉树 137
4.2.3 平衡树 143
4.2.4 ARM Linux中红黑树使用实例 145
4.3 哈希表 147
4.3.1 哈希表的概念及作用 147
4.3.2 哈希表的构造方法 148
4.3.3 哈希表的处理冲突方法 150
4.3.4 ARM Linux中哈希表使用实例 151
小结 153
思考与练习 153

第5章 嵌入式Linux文件操作 154
5.1 嵌入式Linux文件系统概述 154
5.1.1 虚拟文件系统(VFS) 154
5.1.2 通用文件模型 156
5.1.3  Linux下的设备文件 160
5.2 嵌入式Linux下的I/O操作 161
5.2.1 不带缓存的文件I/O操作 161
5.2.2 标准I/O 171
5.3 嵌入式Linux下对文件和目录的操作 176
5.3.1 文件类型 176
5.3.2 文件访问权限 177
5.3.3 获取文件属性 177
5.3.4 修改文件访问权限 179
5.3.5 创建目录 179
5.3.6 创建链接文件 180
5.3.7 删除文件 180
5.3.8 重命名文件 181
5.4 嵌入式Linux串口应用开发 181
5.4.1 串口概述 181
5.4.2 串口设置详解 182
5.4.3 串口使用详解 185
小结 188
思考与练习 189

第6章 嵌入式 Linux进程和线程编程 190
6.1 Linux进程概述 190
6.1.1 进程描述符及任务结构 190
6.1.2 进程的调度 192
6.1.3 Linux中的线程 193
6.2 Linux进程控制相关API 194
6.3 嵌入式Linux进程间通信 200
6.3.1 管道通信 201
6.3.2 信号通信 202
6.3.3 共享内存 207
6.3.4 消息队列 208
6.4 嵌入式Linux线程相关API 210
6.5 Linux守护进程 215
6.5.1 守护进程概述 215
6.5.2 编写规则 215
6.5.3 守护进程实例 217
小结 218
思考与练习 219

第7章 网络通信相关的C语言应用 220
7.1 TCP/IP简介 220
7.1.1 TCP/IP的分层模型 220
7.1.2 TCP/IP分层模型的特点 222
7.1.3 TCP/IP核心协议 223
7.2 套接字的基本知识 225
7.2.1 套接字(socket)概述 225
7.2.2 地址及顺序处理 225
7.3 套接字相关的API及应用 230
7.3.1 socket函数 230
7.3.2 bind函数 230
7.3.3 connect函数 232
7.3.4 listen函数 233
7.3.5 accept函数 233
7.3.6 send、recv函数 234
7.3.7 sendto、recvfrom函数 235
7.3.8 close、shutdown函数 236
7.3.9 setsockopt、getsockopt函数 237
7.3.10 getpeername函数 237
7.3.11 gethostname函数 238
7.3.12 编程实例 238
7.4 套接字高级编程 241
小结 245
思考与练习 245

附录 嵌入式Linux C函数快速参考 246

读者评论

赶紧抢沙发哦!

我要评论

同系列书

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部