嵌入式Linux与物联网软件开发——C语言内核深度解析
- 187*324
-
0 次阅读
-
0 次下载
-
2024-03-03 21:55:08
微信
赏
支付宝
文档简介:
目 录
版权信息
前言
参与本书整理和编写的学生
第1章 C语言与内存
1.1 引言
1.2 计算机程序运行的目的
1.2.1 什么是程序
1.2.2 计算机运行程序的目的
1.2.3 静态内存SRAM和动态内存DRAM
1.2.4 冯·诺伊曼结构和哈佛结构
1.2.5 总结:程序运行为什么需要内存呢
1.2.6 深入思考:如何管理内存(无OS时,有OS时)
1.3 位、字节、半字、字的概念和内存位宽
1.3.1 深入了解内存(硬件和逻辑两个角度)
1.3.2 内存的逻辑抽象图(内存的编程模型)
1.3.3 位和字节
1.3.4 字和半字
1.3.5 内存位宽(硬件和逻辑两个角度)
1.4 内存编址和寻址、内存对齐
1.4.1 内存编址方法
1.4.2 关键:内存编址是以字节为单位
1.4.3 内存和数据类型的关系
1.4.4 内存对齐
1.5 C语言如何操作内存
1.5.1 C语言对内存地址的封装
1.5.2 用指针来间接访问内存
1.5.3 指针类型的含义
1.5.4 用数组来管理内存
1.6 内存管理之结构体
1.6.1 数据结构这门学问的意义
1.6.2 最简单的数据结构:数组
1.6.3 数组的优缺点
1.6.4 结构体隆重登场
1.6.5 题外话:结构体内嵌指针实现面向对象
1.7 内存管理之栈(stack)
1.7.1 什么是栈
1.7.2 栈管理内存的特点(小内存、自动化)
1.7.3 栈的应用举例:局部变量和函数调用
1.7.4 栈的约束(预定栈大小不灵活,怕溢出)
1.8 内存管理之堆
1.8.1 什么是堆
1.8.2 堆管理内存的特点(大块内存、手工分配/使用/释放)
1.8.3 C语言操作堆内存的接口(malloc/free)
1.8.4 堆的优势和劣势(管理大块内存、灵活、容易内存泄漏)
1.8.5 静态存储区
课后题
第2章 C语言位操作
2.1 引言
2.2 常用位操作符
2.2.1 位与(&)
2.2.2 位或(|)
2.2.3 位取反(~)
2.2.4 位异或(^)
2.2.5 左移位(<<)
2.2.6 右移位(>>)
2.3 位操作与寄存器
2.3.1 寄存器的操作
2.3.2 寄存器特定位清零用&
2.3.3 寄存器特定位置1用|
2.3.4 寄存器特定位取反用~
2.4 位运算构建特定二进制数
2.4.1 使用移位获取特定位为1的二进制数
2.4.2 结合位取反获取特定位为0的二进制数
2.4.3 总结
2.5 位运算实战演练1
2.5.1 给定整型数a,设置a的bit3,保证其他位不变
2.5.2 给定整型数a,设置a的bit3~bit7,保持其他位不变
2.5.3 给定整型数a,清除a的bit15,保证其他位不变
2.5.4 给......
评论
发表评论