exeがメモリにロードされると、そのexeファイルに存在するコンテンツはプロセッサまたはOSによって直接実行されますか? つまり、exeに存在するバイナリは、マシンレベルで使用するためにOSによって再度簡略化されていますか?
2 に答える
0
.exe ファイルには、プロセッサによって直接実行可能なオペ コードが含まれています。
于 2013-06-26T07:20:52.520 に答える
0
C++ プログラムの場合、コンパイラは実行可能イメージにデータとコードの組み合わせを生成します。OSローダーは、それをプログラムアドレス空間の特定のメモリアドレスに配置するように手配し、CPUに既知の「エントリポイント」でコードを呼び出すように要求します(動的にロードされるライブラリ(.so / .dll)ごとにそのようなポインタがある場合があります)コンパイラによって生成されるmain()
実行可能コードは、コードを実行できる CPU モデルを対象とします。
別の CPU アーキテクチャでコードを実行しようとすると、通常は失敗しますが、OS は、別の CPU 用にコンパイルされた実行可能ファイルを検出し、何らかのエミュレーションまたは再コンパイル層を配置するなど、好きなことを行うことができます。ただし、これは非常に例外的です。
于 2013-06-26T07:21:43.510 に答える