我对一年前在 android 的 dalvik 平台上提交的这个提交感到非常疑惑和困惑。
文件扩展名已更改为 C++ 扩展名,以便“将解释器移至 C++” - 使用编译器的 C++ 前端。
这种变化有什么好处?Dalvik 平台是一个 100% C & asm 项目,不使用任何 C++ 特性。
我只能推测,但考虑到 Android 系统的复杂性如何增长,C++ 的作用域特性(类和命名空间)可能会使代码库更易于管理。
编辑
即使该项目目前没有使用任何 C++ 功能,他们也可能只是提前计划。
除了一些小的差异(即大多数人无论如何都避免的一些参数约定)之外,C 源代码无需修改即可编译为 C++。话虽如此,在某些领域,C++ 语法比 C 更严格(C 允许您将 void 指针分配给另一个指针类型而无需强制转换;在 C++ 中,这是一个错误),并且强制执行这种严格性可以避免以后出现问题。
*
*) (这是一个过于简单化的观点,请参阅评论)
改变的另一个原因可能是因为大多数现代开发更喜欢 C++ 而不是 C,所以可以使用更丰富的工具集。
再次猜测,但在诞生之初,Android C 可能是嵌入式设备开发的唯一可行选择,现在这种限制已不再是问题。