0

(1)結論として、特定のオペレーティングシステムでプログラムを実行可能にするためには、何をする必要がありますか?機械語、アセンブリ言語?

(2)ある種のCPUで実行するには、機械可読である必要がありますか?

(3)プログラム実行時にオペレーティングシステムはどのような役割を果たしますか?システムがプログラムコードを解釈するのを助けることと何か関係がありますか?

(4)そして、Windows PCに照らして、実行可能にするためにすべてのプログラムが.exeである必要がありますか?なぜJava仮想マシンなのか?

(5)逆コンパイラはどのように機能しますか?機械語とアセンブリ言語にコンパイルされたプログラムの違いは何ですか?

どうもありがとう!!

4

1 に答える 1

1
  1. それは完全にオペレーティングシステムに依存します。理論的には、COBOLソースコードをその場で解釈するOSを使用できます。ただし、一般的には、OSがメモリにロードして実行できる特定の形式の実行可能ファイルが必要です。だから、それは機械語です。

  2. 繰り返しますが、それはCPUに依存します。大多数(私が知っているものすべて)は、独自のマシンコードを実行します。

  3. OSは、アプリケーションを実行する方法を提供し、それらのアプリケーションにサポートサービスを提供します。

  4. いいえ。実行する場合は、特定の形式である必要がありますが、必ずしもexe拡張子を意味するわけではありません。また、 Javaクラスファイルを実行していると思いますが、実際には実行可能ファイルであるJVMを実行しています。たまたまクラスファイルを解釈しているだけです(単純化のためにJITのものを無視し、効率を上げるためにJavaバイトコードを生のマシンコードに変換します。Javaクラスファイル、Powershellスクリプト、cmdスクリプトなどを「実行」できます。

  5. デコンパイラーは、コンパイルされたファイル(EXE、クラスファイル、Pythonバイトコードなど)を元の形式、または少なくともそれに近い形式に戻そうとします。

于 2011-03-21T08:37:13.807 に答える