完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
目前写个不算小的工程,用到了七八种传感器,还跑复杂的算法,发现驱动用C写,后期扩展起来挺费劲的。但目前主流单片机都是用C语言写,于是有了这个问题——单片机该不该用C++写。
我想,Quora上大佬的回答Why can‘t C++ replace C in embedded systems?应该还是可靠的吧。 个人的总结如下,待时间去检验它的正确性吧: CPU速率大于100MHz不用考虑C++降低速率问题。现在都有说用Python来写单片机程序的了,C++还怕什么。当软没达到这个频率的CPU也可以考虑。 Flash大于100K,只要不用RTTI, STL库,而是乖乖用C++中类和常量等基本语法,Flash应该Hold得住。在这个条件用,使用穿插使用C的String.h中的标准函数(除scanf这样的输入函数),大个10KB~20KB吧。 没有很大的向下兼容的需求,如原先在高性能32位MCU上跑,后面要移植到8位MCU这样的问题。 没有换编译器的需求,毕竟C++11、C++14和C++17还是有不小区别的。 C++一个无法逃避的问题是: But mind you, writing complex code in C can give you nightmares. But then debugging C++ code can give you nightmares as well. 如果实在不没有用C++的空间,那至少用个C98吧,都过去二十多年了! 若对STL感兴趣的话,可以看下“C:Keil_v5ARMARMCCinclude”下的C++原码及其头头文件。虽然ARM没有开源C原码,但C++的原码还是挺友好的。 |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
328浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:02 , Processed in 1.423414 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号