使用gcc的C ++前端编译C代码的好处

时间:2012-05-22 09:27:12

标签: android c++ c gcc dalvik

我在一年前推出this commit on android's dalvik platform时非常疑惑和困惑。

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

这种变化可能带来什么好处? Dalvik Platform是100%C& asm项目和没有使用任何C ++功能

1 个答案:

答案 0 :(得分:3)

我只能推测,但考虑到Android系统的复杂程度,C ++(类和命名空间)的范围特性可能会使代码库更易于管理。

修改

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

<击> 除了一些细微的差别(即大多数人无论如何都要避免的一些参数约定),C源代码编译为C ++而不进行修改。话虽这么说,在某些领域,C ++语法比C语言更严格(C允许你在没有强制转换的情况下为另一个指针类型分配一个void指针;在C ++中,这是一个错误),并且强制执行这种严格性可以避免出现问题。 *

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

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

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