我开始学习C,但后来直接进入C ++只是因为它支持OO并且也是后续工作所必需的。然而,一些公司坚持雇用具有特别强大的C经验的人 - 我注意到这尤其适用于硬件驱动程序开发公司。
答案 0 :(得分:4)
C字符串处理非常与C ++典型字符串代码不同。当然我不希望我的驱动程序附近有任何C ++字符串!
更具体地说,在优秀的现代C ++中,你不必理解指针并处理低级别的缓冲区;但这些是设备驱动程序代码中的基本和关键技能。
是的,可以用C ++编写好的驱动程序;但是C ++看起来真的像C一样具有一些额外的功能。大多数C ++库在设备领域都没有。
答案 1 :(得分:3)
可能只是因为他们没有为他们正在使用的平台安装C ++编译器......就个人而言,我总是优先使用C ++。
答案 2 :(得分:3)
C更便携 - 在目前的C ++标准化水平下,当可移植性很重要时,它根本无法使用。 C ++代码也很难(以可靠和可移植的方式)集成到C环境中。
答案 3 :(得分:1)
许多嵌入式系统,如微控制器,PLC等,都使用C而不是C ++,因为它们不需要只有一个带有某些功能的巨型循环。没有什么花哨但足以用更高级别的语言完成工作。由于C比人们对装配更熟悉,因此在98%的情况下效果很好。
答案 4 :(得分:-1)
我认为原因很简单,许多公司都希望有效的可读代码。 C是一种相当容易理解和掌握的语言,对于许多用途,没有理由通过添加OO语言可能但不需要的全新概念(类,多态,继承等)来使开发和代码连续性复杂化。