dポイントプレゼントキャンペーン実施中!

exeファイルっていったいどんな仕組みでソフトを起動させているのでしょうか?
コンパイラでアセンブリ言語の状態になっているのがexeファイルなんでしょうか?

A 回答 (4件)

exeファイルはマシン語(機械語)です。


プログラムはこの状態でないと動かないんです。
マシン語は二つの記号(0と1)で動いています。

アセンブリ言語というのプログラム言語の中でも最もマシン語に近い言語です。
それ故の最も難しい言語です。
    • good
    • 0

.NETですが解説があります。


DOSでもWindowsでも似たようなモンです。
http://www.atmarkit.co.jp/fdotnet/technology/idn …
    • good
    • 0

> コンパイラでアセンブリ言語の状態になっているのが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時代の資料を探した方が詳しくかかれているかもしれません。

参考URL:http://www.delorie.com/djgpp/doc/exe/
    • good
    • 0

まずはこちらはみてみました?



>コンパイラでアセンブリ言語の状態になっているのがexeファイルなんでしょうか?

いいえ、実行可能な状態にまでなっていますのでアッセンブリ言語とはいえないです。
アッセンブリ言語はアッセンブラでみれる状態ですのでそれよりもさらに最適化されています。

参考URL:http://e-words.jp/w/EXEE38395E382A1E382A4E383AB. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!