Microchip
直播中

褚溢稚

7年用户 153经验值
私信 关注
[问答]

值得学习C ++吗?

嗨,我和PIC32一起工作。我只知道C和我想知道它是否值得学习C++,因为我听说它很难掌握,关于这个话题的在线问题通常是由软件工程师回答的,对嵌入式系统没有或很少的了解。C++是如何影响代码大小(ROM和RAM)和执行速度的?我会获得开发速度、健壮性吗?有什么缺点?谢谢您!

回帖(17)

王璨

2020-3-17 08:15:25
C++是值得学习的——在你的例子中,尤其是Ec++嵌入的C++。虽然好处很可能不是你所期望的:C++肯定不会导致更快或更小的机器代码。如果你不知道某些语言结构的副作用:恰恰相反。C++的源代码方面:启用更多的模块化代码,减少来自不同来源的代码之间的冲突等,以收集一些第一实际的经验,ARDUINO生态系统可能是伟大的:基于+的,更多的EC+++比C++,低成本和非常有能力。
举报

李维嘉

2020-3-17 08:22:42
几年前我参加了一个嵌入式系统会议。我参加了一个课堂,讲师指出,C与VC++通用代码生成的汇编代码没有差别。(至少在ARM M3核心上)甚至大多数继承都是编译时间和运行时间。关于代码膨胀的语句通常是错误的,除非使用广泛的多态性(也从不使用异常)。然而,一个糟糕的C++开发人员可以通过创建/销毁开发人员不知道的临时对象来导致代码膨胀/性能问题。一个很差的C开发人员也会导致代码膨胀,所以你的里程会有所不同。一个人可以用C++编译器在C中编写,混合C/C++环境是一个美丽的地方。我最喜欢的设计模式之一是放置新的()访问器类,用于相同的硬件外围设备。只需实例化一个具有外围设备基地址的新访问器类。n个UART的一个类,或n个SPI类的类,…不使用RAM,因为它在内存映射的外围寄存器上操作,并且共享代码。遗憾的是,Microchip在低级库中不太接受C++,很容易开始学习,但是引擎盖下的细微之处比C更复杂。
举报

李天竹

2020-3-17 08:29:46
在事实上,你可以使用C中的一个结构来做完全相同的指针。
举报

唐红菊

2020-3-17 08:39:26
对于C++来说,学习曲线肯定是更陡峭的,但是询问它是否值得学习这个星球上使用最广泛的编程语言之一似乎很傻,即使你决定不在微控制器环境中使用它。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分