- 締切済み
EXEファイルって何ですか?
exeファイルっていったいどんな仕組みでソフトを起動させているのでしょうか? コンパイラでアセンブリ言語の状態になっているのがexeファイルなんでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
exeファイルはマシン語(機械語)です。 プログラムはこの状態でないと動かないんです。 マシン語は二つの記号(0と1)で動いています。 アセンブリ言語というのプログラム言語の中でも最もマシン語に近い言語です。 それ故の最も難しい言語です。
- mamakari
- ベストアンサー率34% (20/58)
.NETですが解説があります。 DOSでもWindowsでも似たようなモンです。 http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_01.html
- neKo_deux
- ベストアンサー率44% (5541/12319)
> コンパイラでアセンブリ言語の状態になっているのがexeファイルなんでしょうか? アセンブリ言語をコードバイト化した状態ですね。 例) 8086で、 mov ax,0003 → b8 03 00 など。 で、そのコードが先頭からそのまま入っているのかというと、きちんとしたフォーマットがあります。 メモ帳などで開くと、先頭に「MZ」の文字が見えますね。 EXE Format http://www.delorie.com/djgpp/doc/exe/ -- > exeファイルっていったいどんな仕組みでソフトを起動させているのでしょうか? exeファイルをダブルクリック、コマンドラインで実行すると、OSがそれ用のメモリを確保して、exeファイルのコード部をメモリに展開、exeファイルの実行開始位置をIP(インストラクション・ポインタ)に指定して…のような感じだったと思います。 MS-DOS時代の資料を探した方が詳しくかかれているかもしれません。
- asuca
- ベストアンサー率47% (11786/24626)
まずはこちらはみてみました? >コンパイラでアセンブリ言語の状態になっているのがexeファイルなんでしょうか? いいえ、実行可能な状態にまでなっていますのでアッセンブリ言語とはいえないです。 アッセンブリ言語はアッセンブラでみれる状態ですのでそれよりもさらに最適化されています。