我只是好奇为什么驱动程序和固件几乎总是用 C 或汇编编写,而不是 C++?
我听说这是有技术原因的。
有人知道吗?
很多爱, 路易丝
最佳答案
因为在大多数情况下,操作系统(或“运行时库”)提供了 C++ 所需的标准库功能。
在 C 和 ASM 中,您可以创建不包含外部依赖项的裸可执行文件。
但是,由于 Windows 确实支持 C++ 标准库,因此大多数 Windows 驱动程序都是用 C++(有限的子集)编写的。
此外,在编写 ASM 固件时,通常是因为 (A) 执行它的平台没有 C++ 编译器,或者 (B) 存在极端的速度或大小限制。
请注意,自 2000 年代初以来,(B)通常不是问题。
关于c++ - 为什么驱动程序和固件几乎总是用 C 或 ASM 而不是 C++ 编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039444/