非常に基本的な編集の問題 - 助けてください!
-
28-10-2019 - |
質問
(1)一番下の行:特定のオペレーティングシステムでプログラムを実行可能にするために、それは何に必要なものですか?マシンコード、アセンブリ言語?
(2)何らかのCPUによって実行されるためには、機械可読でなければなりませんか?
(3)プログラムが実行されているとき、オペレーティングシステムはどのような役割を果たしますか?システムがプログラムコードを解釈するのを支援することと関係がありますか?
(4)Windows PCに照らして、すべてのプログラムが実行可能になるために.exeにする必要がありますか?なぜJava仮想マシン?
(5)Decompilerはどのように機能しますか?マシンコードとアセンブリ言語にコンパイルされたプログラムの違いは何ですか?
どうもありがとう!!
解決
それは完全にオペレーティングシステムに依存します。理論的には、COBOLソースコードをその場で解釈するOSを使用することができます。ただし、一般に、OSがメモリにロードして実行できる特定の形式の実行可能ファイルが必要です。だから、マシンコードはそうです。
繰り返しますが、CPUに依存します。大多数(私が知っているすべて)は、独自のマシンコードを実行します。
OSは、アプリケーションを実行する方法を提供し、それらのアプリケーションにサポートサービスを提供します。
いいえ。それらを実行したい場合、それらは特定の形式である必要がありますが、それは必ずしも
exe
拡大。そして、あなたは 考える Javaクラスファイルを実行しています。実際には、実行可能ファイルであるJVMを実行しています。たまたまクラスファイルを解釈しているだけです(JITのものを無視してシンプルさを無視して、Javaバイトを効率のために生のマシンコードに変えます。Javaクラスファイル、PowerShellスクリプトを「実行」することができます。cmd
スクリプトなど。分解者は、コンパイルされたファイル(EXE、クラスファイル、Pythonバイトコードなど)を元のフォームに戻しようとします。