《嵌入式Linux C语言程序设计基础教程》

《嵌入式Linux C语言程序设计基础教程》

图书作者:华清远见 丛书名称: 高等院校嵌入式人才培养规划教材 出版日期:2013年9月

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

《嵌入式linux c语言程序设计基础教程》介绍开发工具和linux c语言基础包括嵌入式linux c语言中的数据、数据的输入和输出、运算符和表达式、程序结构和控制语句、数组、指针及函数、嵌入式linux c语言高级用法、内核常见数据结构的解析与应用等,并设置了嵌入式linux c函数参考附录。
  • 《嵌入式linux c语言程序设计基础教程》立足基础,可操作性强,可作为高等院校嵌入式技术专业以及电子信息类其他专业的教材,也可供嵌入式爱好者自学参考。

图书章节

图书目录

  • ※第1章 嵌入式linux c语言开发工具 

  • 1.1 嵌入式linux下c语言概述 
  • 1.1.1 c语言简史 
  • 1.1.2 c语言特点 
  • 1.1.3 嵌入式linux c语言编程环境 
  • 1.2 嵌入式linux编辑器vi的使用 
  • 1.2.1 vi的基本模式 
  • 1.2.2 vi的基本操作 
  • 1.2.3 vi的使用实例分析 
  • 1.3 嵌入式linux编译器gcc的使用 
  • 1.3.1 gcc概述 
  • 1.3.2 gcc编译流程分析 
  • 1.3.3 gcc警告提示 
  • 1.3.4 gcc使用库函数 
  • 1.3.5 gcc代码优化 
  • 1.4 嵌入式linux调试器gdb的使用 
  • 1.4.1 gdb使用实例 
  • 1.4.2 设置/删除断点 
  • 1.4.3 数据相关命令 
  • .1.4.4 调试运行环境相关命令 
  • 1.4.5 堆栈相关命令 
  • 1.5 make工程管理器 
  • 1.5.1 makefile基本结构 
  • 1.5.2 makefile变量 
  • 1.5.3 makefile规则 
  • 1.5.4 make使用 
  • 1.6 eclipse集成开发环境 
  • 1.6.1 eclipse简介 
  • 1.6.2 eclipse 相关术语 
  • 1.6.3 安装eclipse集成开发环境(假设宿主机环境为 ubuntu8.10)
  • 1.6.4 eclipse的使用 
  • 小结 
  • 思考与练习 
  • ※第2章 数据 

  • 2.1 ansi c与gnu c 
  • 2.1.1 ansi c简介 
  • 2.1.2 gnu c简介 
  • 2.2 基本数据类型 
  • 2.2.1 整型家族 
  • 2.2.2 实型家族 
  • 2.2.3 字符型家族 
  • 2.2.4 枚举家族 
  • 2.2.5 指针家族 
  • 2.3 变量与常量 
  • 2.3.1 变量的定义 
  • 2.3.2 typedef 
  • 2.3.3 常量的定义 
  • 2.3.4 作用域 
  • 2.3.5 链接属性 
  • 2.3.6 存储模型 
  • 2.4 预处理 
  • 2.4.1 预定义 
  • 2.4.2 文件包含 
  • 2.4.3 条件编译 
  • 2.5 需要注意的问题 
  • 2.5.1 字长和数据类型 
  • 2.5.2 数据对齐 
  • 2.5.3 字节序 
  • 小结 
  • 思考与练习 
  • ※第3章 数据的输入输出 

  • 3.1 数据的输出 
  • 3.1.1 字符输出函数putchar 
  • 3.1.2 格式化输出函数printf 
  • 3.2 数据的输入 
  • 3.2.1 字符输入函数getchar 
  • 3.2.2 格式化输入函数scanf 
  • 3.3 数据输入输出综合示例 
  • 3.4 字符串输入输出函数 
  • 小结 
  • 思考与练习 
  • ※第4章 运算符和表达式 

  • 4.1 概述 
  • 4.2 运算符和表达式 
  • 4.2.1 算术运算符和表达式 
  • 4.2.2 赋值运算符和表达式 
  • 4.2.3 逗号运算符和表达式 
  • 4.2.4 位运算符和表达式 
  • 4.2.5 关系运算符和表达式 
  • 4.2.6 逻辑运算符和表达式 
  • 4.2.7 sizeof操作符 
  • 4.2.8 条件运算符 
  • 4.2.9 运算符优先级总结 
  • 小结 
  • 思考与练习 
  • ※第5章 程序结构和控制语句 

  • 5.1 c语言程序结构 
  • 5.2 c语言控制语句 
  • 5.2.1 条件判断语句 
  • 5.2.2 循环语句 
  • 5.2.3 转向语句 
  • 小结 
  • 思考与练习 
  • ※第6章 数组 

  • 6.1 一维数组 
  • 6.1.1 数组的定义 
  • 6.1.2 一维数组的引用 
  • 6.1.3 一维数组的初始化 
  • 6.1.4 一维数组的内存分配 
  • 6.1.5 一维数组程序举例 
  • 6.2 多维数组 
  • 6.2.1 多维数组定义及初始化 
  • 6.2.2 二维数组的内存分配 
  • 6.2.3 深入理解二维数组 
  • 6.2.4 二维数组程序举例 
  • 6.3 字符数组 
  • 6.4 字符串 
  • 6.4.1 字符串的定义 
  • 6.4.2 字符串的输入输出 
  • 6.4.3 字符串处理函数 
  • 小结 
  • 思考与练习 
  • ※第7章 指针 

  • 7.1 指针基础 
  • 7.1.1 指针变量的定义 
  • 7.1.2 指针变量的赋值 
  • 7.1.3 指针变量的引用 
  • 7.2 指针的运算 
  • 7.2.1 指针的算术运算 
  • 7.2.2 指针的关系运算 
  • 7.2.3 空指针 
  • 7.3 指针与数组 
  • 7.3.1 指针与一维数组 
  • 7.3.2 指针与多维数组 
  • 7.4 多级指针 
  • 7.4.1 多级指针的定义及引用 
  • 7.4.2 多级指针的运算 
  • 7.5 指针数组 
  • 7.5.1 指针数组的定义及初始化 
  • 7.5.2 理解指针数组名 
  • 7.6 const与指针 
  • 7.7 void指针 
  • 7.8 字符指针 
  • 7.8.1 字符串 
  • 7.8.2 字符指针数组 
  • 小结 
  • 思考与练习 
  • ※第8章 函数 

  • 8.1 函数基础 
  • 8.1.1 函数定义和声明 
  • 8.1.2 函数的调用、参数传递和返回值 
  • 8.1.3 函数和数组 
  • 8.1.4  main函数的参数 
  • 8.2 指针函数 
  • 8.2.1 指针函数的定义和使用 
  • 8.2.2 指针函数程序举例 
  • 8.3 函数指针 
  • 8.3.1 函数指针的声明 
  • 8.3.2 定义函数指针类型 
  • 8.3.3 函数指针数组 
  • 8.3.4 函数指针程序举例 
  • 8.4 递归函数 
  • 8.4.1 递归函数的定义 
  • 8.4.2 函数调用机制说明 
  • 8.4.3 递归调用的形式 
  • 8.4.4 递归的条件 
  • 8.5 attribute机制介绍 
  • 小结 
  • 思考与练习 
  • ※第9章 用户自定义数据类型 

  • 9.1 结构体 
  • 9.1.1 结构体的定义 
  • 9.1.2 结构体变量的声明、使用及初始化 
  • 9.1.3 结构体数组 
  • 9.1.4 结构体指针 
  • 9.2 位域 
  • 9.2.1 位域的定义 
  • 9.2.2 位域变量的说明 
  • 9.2.3 位域的使用 
  • 9.3 共用体 
  • 9.4 枚举 
  • 9.4.1 枚举类型的定义 
  • 9.4.2 枚举变量的声明和使用 
  • 小结 
  • 思考与练习 
  • ※第10章 嵌入式c语言的高级用法 

  • 10.1 内存管理 
  • 10.2 动态内存的申请和释放 
  • 10.2.1 malloc函数 
  • 10.2.2 free函数 
  • 10.2.3 关于野指针 
  • 10.3 堆和栈的区别 
  • 10.4 动态内存程序举例 
  • 10.5 c语言和汇编语言的接口 
  • 10.5.1 内联汇编的语法 
  • 10.5.2 编译器优化介绍 
  • 10.5.3 c语言关键字volatile 
  • 10.5.4 “memory”描述符 
  • 小结 
  • 思考与练习 
  • ※第11章 嵌入式linux内核常见数据结构 

  • 11.1 链表 
  • 11.1.1 单向链表 
  • 11.1.2 双向链表 
  • 11.1.3 循环链表 
  • 11.1.4 arm linux中链表使用实例 
  • 11.2 树、二叉树、平衡树 
  • 11.2.1 树的定义 
  • 11.2.2 二叉树 
  • 11.2.3 平衡树 
  • 11.2.4 arm linux中红黑树使用实例 
  • 11.3 哈希表 
  • 11.3.1 哈希表的概念及作用 
  • 11.3.2 哈希表的构造方法 
  • 11.3.3 哈希表的处理冲突方法 
  • 11.3.4 arm linux中哈希表使用实例 
  • 小结 
  • 思考与练习