![]() |
1
4
我为嵌入式平台(ARM)开发专业软件。我们使用C++。 我们确实有许多共同和合理的指导方针,但是由于嵌入式系统,没有什么特别的指导方针。我们没有对C++特性的限制(没有例外禁止等)。 “功能指南”可能会帮助您,但不会消除只学习语言的需要。这需要一些时间。如果你没有时间,选择一种可以更快学习的语言。
至于C vs C+++EC+++:
我刚刚读到了关于EC++的文章,但是我不知道它能提供什么好处。我就是做不到。没有EC++现在还有一个 强迫 您可以使用例外。
我再说一遍。
|
![]() |
2
5
我们的软件是实时运行的,在用示波器花了好几个星期之后,我不得不承认,在我们的硬件(奔腾M等)上,现代C++和它的地图和DeGuess的Debug TalpLoad所做的堆堆分配,以及所有由SyrdHypRTs完成的锁定,都通过了每一个延迟/抖动/决定论测试,我们可以来U。P与。 操作系统设置(如禁用C2状态或调整驱动程序的内核线程优先级)的效果比切换到内存池分配器或任何其他经典的RT编程方法都要大得多。当然,我们可以使用严格规范的C从同一个硬件中提取更多微秒,但是该软件的开发和维护成本会使更新一点的控制器的成本相形见绌。 我认为主要的指导方针是要有一个好的数字示波器。 |
![]() |
3
4
我想 MISRA 正是你想要的。 |
![]() |
4
3
嵌入式C++基本上消除了异常,主要是因为它们给库添加了很多,而在嵌入式系统中,空间限制非常大。随着RAM变得更小和更便宜(40 GB iPod?)即使这样也不那么令人担心。 我还没有听到任何比C更喜欢C的正当理由。 |
![]() |
5
1
这里有一个真实的场景。可能没有回答问题,但仍在穿插。 一个流行的桌面软件被移植到手机上。代码是C++的。团队发现了使用虚拟函数的问题。问题是vptr指针占用了大量内存,这导致了问题的发生。团队返回时删除了所有虚拟函数,然后使用了函数指针。 可能会出现这样的小故障,但在这种情况下,您可以返回并用纯C编写该部分代码。 |
![]() |
6
1
从我在嵌入式系统领域30多年的经验来看,我更喜欢C++,而C++则在程序员较少工作的情况下,增加了更多的健壮性和安全性。 我已经在小型平台以及具有巨大内存空间的平台上进行了编程。用C实现一些C++特性仍然是一个痛苦。这些特性包括但不限于:异常、智能指针、继承和模板。 如果是我的决定,我会用C++编程嵌入式系统。大多数情况下,选项已经设置为:c.:。-( |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |