2

我是为 ARM9 设备开发嵌入式应用程序的团队的一员,该设备具有 16mb 内存和自己的操作系统。我们目前正在使用 C 语言进行开发,但都致力于将语言转换为其他语言。

目前 C++ 和 Haskell 是不错的候选者,但我正在考虑 Coffee-script。问题是 Chrome 的 v8 引擎是否会使用大量内存来使其成为可行的替代方案?如果是这样,还有其他可能适合该法案的吗?

忘了提一下,我需要与系统上安装的 C 库轻松互操作。由于我们今天拥有的大多数代码都是 C 代码,并且将有很长的重写周期,因此使用 C 函数不应该是一件麻烦事(必须创建绑定等)。

不幸的是,我们还受到旧编译器(GCC 3.4.3)的约束。

4

1 回答 1

1

任何具有自动内存管理的语言总是会有内存开销,而任何动态类型的语言总是会增加一些开销。因此,如果您被限制在 16 MiB 并且想要挤出很多空间,请使用静态类型和显式内存管理的东西,这意味着 C++。

现代 C++(好的,gcc 3.4.3 中没有 C++11 功能,但标准库已经存在并且应该可以编译)仍然会为您完成大部分内存管理,同时仍然保持较低的开销。并且几乎向后兼容 C 使得与现有库的互操作变得微不足道。

如果您不需要挤出那么多,许多语言都可以。Mono似乎很有前途,因为它是最小的托管运行时之一,速度相当快,可移植,并且有多种针对它的语言(C#、F#、boo 等)。但我想即使是 JavaScript 也应该这样做;它的解释器非常小,如果您不需要内存中有那么多对象,即使单独分配所有内容的所有开销,它们也能适应。

于 2012-07-02T11:32:19.740 回答