13

我对一年前在 android 的 dalvik 平台上提交的这个提交感到非常疑惑和困惑。

文件扩展名已更改为 C++ 扩展名,以便“将解释器移至 C++” - 使用编译器的 C++ 前端。

这种变化有什么好处?Dalvik 平台是一个 100% C & asm 项目,不使用任何 C++ 特性

4

1 回答 1

3

我只能推测,但考虑到 Android 系统的复杂性如何增长,C++ 的作用域特性(类和命名空间)可能会使代码库更易于管理。

编辑

即使该项目目前没有使用任何 C++ 功能,他们也可能只是提前计划。

除了一些小的差异(即大多数人无论如何都避免的一些参数约定)之外,C 源代码无需修改即可编译为 C++。话虽如此,在某些领域,C++ 语法比 C 更严格(C 允许您将 void 指针分配给另一个指针类型而无需强制转换;在 C++ 中,这是一个错误),并且强制执行这种严格性可以避免以后出现问题。 *

*) (这是一个过于简单化的观点,请参阅评论)

改变的另一个原因可能是因为大多数现代开发更喜欢 C++ 而不是 C,所以可以使用更丰富的工具集。

再次猜测,但在诞生之初,Android C 可能是嵌入式设备开发的唯一可行选择,现在这种限制已不再是问题。

于 2012-05-22T09:46:16.927 回答