2011-07-22 10 views

答えて

0

あなたはいくつかの概念を混同しているようです。まず、実行モジュール(your_program.exe)はプログラミング言語とは関係がないことを理解する必要があります。実行モジュール(実行可能ファイル)は、いわゆるマシンコードで構成されています。 CPUはマシンコードのみを実行できます。

プログラミング言語の概念は、人間のアイデアを機械コードに変換するのに便利です。翻訳の実際の作業は、コンパイラとリンカが主なツールのいくつかからなるツールチェーンによって行われます。コンパイラは、プログラミング言語の各モジュール(例:C++の* .cppファイル)のマシンコードのモジュールを作成します。次に、リンカはコンパイラ出力からすべてのマシンコードモジュールを取り出し、それらから実行可能ファイルを作成します。

Symbian C++、Qt、その他の言語/方言のコードが最初にツールチェーンによって処理され、その出力がさまざまなプログラミング言語で同じマシンコードになっていることは容易に理解できます。もちろん、Symbianだけでなく、どのOSでも可能です。

Javaは少し違った話です。 J2MEコードは機械コードで直接変換されません。その代わりに、Javaコードは機械コードとプログラミング言語コードの中間的なものに変換されるため、異なるアーキテクチャのCPU上のJava仮想マシンで実行することができます。しかし、本質は同じです。人間が読めるプログラミング言語のコードを機械で実行できるものに変換することです。

これが役に立ちます。何かが不明な場合は、さらにお気軽にお問い合わせください。

+0

コンパイラはどこにありますか?すべての異なる言語のコンパイラがOSに組み込まれていますか?Java用のJVMもosにありますか? – user590849

+0

いいえ、シンビアンC++とQtツールチェーン(コンパイラと一緒に)は開発用PCにあり、電話機にはありません。 toolchainの出力を使用して、* .sisファイルを作成します。このファイルは、電話機にインストールすることもできます。これは、OS上で直接実行可能な実行可能ファイルを含み、その実行可能な構造は使用されるツールチェーンに依存しません - Symbian OSまたはQt。 Javaはもう一度少し違った話です。また、Javaコード付きのsisファイルもありますが、Javaプログラムの実行を担当するJava Virtual Machineは、OSの一部として電話で実行されています。 – Haspemulator

関連する問題