PIC 单片机 中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法
来源:互联网 发布:歌帝梵巧克力 知乎 编辑:程序博客网 时间:2024/05/17 17:15
PICC 基本上符合 ANSI 标准,除了一点:它不支持函数的递归调用。其主要原因是因
为 PIC 单片机特殊的堆栈结构。在前面介绍 PIC 单片机架构时已经详细说明了 PIC 单片机
中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法;
另外在 PIC 单片机中实现软件堆栈的效率也不是很高,为此,PICC 编译器采用一种叫做“静
态覆盖”的技术以实现对 C 语言函数中的局部变量分配固定的地址空间。经这样处理后产
生出的机器代码效率很高,按笔者实际使用的体会,当代码量超过 4K 字后,C 语言编译出
的代码长度和全部用汇编代码实现时的差别已经不是很大(<10%),当然前提是在整个 C
代码编写过程中须时时处处注意所编写语句的效率,而如果没有对 PIC 单片机的内核结构、
各功能模块及其汇编指令深入了解,要做到这点是很难的。
- PIC 单片机 中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法
- 递归函数的堆栈实现
- Java堆栈算法的实现
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 图的深度优先遍历[非堆栈、堆栈实现]
- 递归函数的堆栈操作
- cannot assign a tfont to a tfont
- DoG 、Laplacian、图像金字塔详解
- poj2352 Star
- unity3d中使用贝塞尔曲线
- hive 学习笔记(三)-----优化策略,函数定义,web接口
- PIC 单片机 中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法
- SQLite的使用完成增删改查等
- 能用到辅助驾驶系统的三个代码:特征点匹配,线段、消失点检测
- C# 局域网聊天 发送信息
- JAVA设计模式之装饰模式
- unity3d博客
- Linux下查找设备概要
- iOnRoad: 一个装在手机上的辅助驾驶软件
- 3月7日整理