2

私は、16 MB の RAM と独自の OS を搭載した ARM9 デバイス用の組み込みアプリケーションを開発しているチームの一員です。私たちは現在 C で開発していますが、言語を別のものに切り替えることを目指しています。

現在、C++ と Haskell が良い候補ですが、Coffee-script について考えています。問題は、これが実行可能な代替手段になるために、Chrome の v8 エンジンが大量の RAM を使用するかどうかです。もしそうなら、法案に合うかもしれない他のものはありますか?

言い忘れましたが、システムにインストールされている C ライブラリとの簡単な相互運用が必要です。現在私たちが持っているほとんどのコードは C であり、書き直す期間が長くなるため、C 関数を使用することは面倒ではありません (バインディングを作成する必要があるなど)。

残念ながら、古いコンパイラ (GCC 3.4.3) にも縛られています。

4

1 に答える 1

1

自動メモリ管理を備えた言語には常にメモリオーバーヘッドがあり、動的に型指定された言語には常にオーバーヘッドが追加されます。したがって、16 MiBに制限されていて、それを大量に絞り出したい場合は、静的型付けと明示的なメモリ管理を備えたものを使用してください。これは、C++を意味します。

最新のC++(gcc3.4.3にはC++ 11の機能はありませんが、標準ライブラリはすでに存在し、ブーストはコンパイルする必要があります)は、オーバーヘッドを低く抑えながら、ほとんどのメモリ管理を実行します。また、Cとほぼ下位互換性があるため、既存のライブラリとの相互運用は簡単です。

それほど絞り出す必要がなければ、多くの言語で十分です。Monoは、最小のマネージドランタイムの1つであり、かなり高速で移植性があり、複数の言語(C#、F#、booなど)を対象としているため、非常に有望なようです。しかし、JavaScriptでも可能だと思います。インタプリタは非常に小さく、メモリ内にそれほど多くのオブジェクトが必要ない場合は、すべてを個別に割り当てるというすべてのオーバーヘッドに対応できます。

于 2012-07-02T11:32:19.740 に答える