我很好奇为什么驱动程序和固件几乎总是用C或Assembly而不是C++编写?

我听说这是有技术原因的。

有人知道吗?

满满的爱,
路易丝

最佳答案

因为在大多数情况下,操作系统(或“运行时库”)提供C++所需的stdlib功能。

在C和ASM中,您可以创建裸露的可执行文件,其中不包含任何外部依赖项。

但是,由于Windows确实支持C++ stdlib,因此大多数Windows驱动程序都是用C++编写的(一部分)。

同样,在将固件写入ASM时,通常是因为(A)在其上执行的平台没有C++编译器,或者(B)在速度或大小方面存在极限。

请注意,自2000年代初期以来(B)通常就不再是问题。

关于c++ - 为什么驱动程序和固件几乎总是用C或ASM而不是C++编写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2039444/

10-10 14:06
查看更多