到底是用C好,还是用汇编```````````
共6条
1/1 1 跳转至页
C语言和汇编语言在开发单片机时各有哪些优缺点?哪个好呢?

个人觉得没有可比性,该用汇编的地方就用汇编,该用C的地方就用C。一般来说汇编使用指征有以下几种情况中的一种或几种:
1. 没有支持的C编译器。
2. 程序微小且简单,没有必要用C。
3. 尚不具备执行C语言程序的条件(CPU启动初始化代码,堆栈环境尚未建立)。
4. 经常、频繁被调用的函数(如IO读写函数inportb等和其它经常使用的硬件驱动函数)
5. 与架构相关无法直接通过C实现的函数(如专用寄存器访问等函数,部分操作系统底层函数,典型地如内存管理相关函数)
6. 对执行效率要求严格的程序(如memcpy等标准函数库)
7. 对执行时间控制要求严格的程序(如us级的功率器件门级触发程序,部分操作系统原语实现函数)
8. 对代码量要求严格的程序(RAM、ROM等资源不充足的微型设备)
对嵌入式软件开发来说,C和汇编就学习和使用,不能只学哪一门,应该结合起来使用。对32位CPU的系统来说,通常是少量汇编和大量C的结合-只有部分函数使用汇编书写,其它绝大多数代码用C或者C++。而8位和16位系统从资源和应用目的来说,通常汇编的使用比率稍微高一些。。。。。。。
啊个人理解,欢迎大虾们指教。
共6条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏50分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 |