法大奥山研究室

 previous  contents

1.2. コンパイルと実行方法


 プログラムが一つのソースファイルから構成される場合のコンパイルと実行方法です。

* プログラムが複数のソースファイルから構成される場合については後述

Q a.out の由来
C言語の作者 Dennis M. Ritchie によると the output of the assembler の意。アセンブラ(assembler)とは,CPUが理解できる機械語に翻訳するもので,元のファイルはニーモニック(mnemonics)と呼ばれる略語で記述するアセンブリ言語で書く。アセンブリ言語は CPUによって異なるのに対し,C言語はコンパイラがアセンブリ言語に翻訳するため移植性が高い。
 C言語のソースファイルをアセンブリ言語に翻訳させるには,
   % cc -S xxx.c
とすれば良い。すると,拡張子 .s が付いたアセンブリ言語ファイルができる。これから実行ファイルを作るには,
   % cc xxx.s
とすれば良い。出来上がるのが a.out である。
 実行ファイルからアセンブリを見ることもできる。(「逆アセンブル」と呼ばれている。)コマンド gdb で開き,disassemble main と打てば良い。
   % gdb a.out
   ...
   (gdb) disassemble main


 previous  contents