这里我说的嵌入式程序是直接操作硬件的底层程序,如单片机,嵌入式LINUX内核。
java之类面向对象语言是编译器在后面增加大量的东西的才变成机器语言。换句话说,这样程序无法直接操作内存。比如你定义一个类,可能最终在内存中实现时,编译器已经加了大量附加东西。如父类数据结构,VT表指针之类。而且底层程序主要是操作寄存器和内存地址,必须要精确而直接操作它。C的结构和指针可以精确操作到这一些东西。
目前只有部分语言有这个能力,而C在底层程序中又形成事实的工业标准。 这是最根本的原因。
至于说速度,内存开销事实上对于现在机器并不影响很大。Android的四核机配置已经超过很多PC机配置了。