コマンドプロンプトからコンパイル

コマンドプロンプトは、キーボードからコマンドを入力することにより、ファイル操作やプログラム実行ができるプログラムです。  Explorer を用いて行う操作のほとんどを,コマンドプロンプトから実行することが可能であり、スクリプトによるバッチ処理や、リダイレクトやパイプと呼ばれる機能を用いて、プログラムの結果を別のプログラムに渡したりファイルに出力したりといった処理を用意に行うことができ ます。

ここではコマンドプロンプトを用いて、Z:\prog\hello ディレクトリを作成し、ソースファイルの作成、コンパイルまでの実習を行います.

以下、実際に操作を行う部分は赤字で示してある。

1 コマンドプロンプトの基本操作

1.1 コマンドプロンプトの起動

[スタートメニュー]->[すべてのプログラム]->[Microsoft Visual Studio 2010]->[Visual Studio Tools]-> [Visual Studioコマンドプロンプト] をクリックします。以下のようなコマンドプロンプトウインドウが起動します.

1.2 カレントディレクトリとファイルの一覧 (DIR コマンド) 

プログラムには、操作の対象となるディレクトリ(フォルダと同義)があり、これをカレントディレクトリと呼びます.コマンドプロンプトを起動すると、左上部に Z:\> のようにカレントディレクトリが表示されています。

ファイルの一覧を表示するには、DIR コマンドを使用します (なお Windows の場合には、コマンドの大文字小文字は区別されない。)

コマンドプロンプトから dir と入力し、エンターキーを押す。その出力を確認する。マイコンピュータからZドライブを開き、その一覧を比較してみる。

1.3 ディレクトリの作成とカレントディレクトリの移動

ディレクトリ(フォルダ)を作成するには、MKDIR コマンド(make directory コマンド)を使用します。 コマンド名の後にスペースで区切って記述する文字列を引数(ひきすう)と呼び、mkdirコマンドの場合には、新たに作成するディレクトリ名を引数として渡 します。

mkdir ディレクトリ名

コマンドプロンプトから mkdir prog と入力し、prog ディレクトリを作成。Z:\ を開いているエクスプローラから、[表示]メニューの[最新の情報に更新]をクリックし(もしくはF5キーを押し)、prog ディレクトリが作成されていることを確認します.

カレントディレクトリを移動するには、 CD コマンド(change directory コマンド) を使用します。CDコマンドの引数には、移動先のディレクトリ名を与えます。

cd prog1と入力し、カレントディレクトリの表示が変わることを確認する。

ひとつ上のディレクトリ(親ディレクトリ)は、.. (ピリオド二つ)で表します.

cd .. と入力し、カレントディレクトリが Z:\ に移動することを確認します.

再び prog にカレントディレクトリを移動し、その下に hello ディレクトリを作成 ます.さらに hello ディレクトリにカレントディレクトリを移動する。

これらの一連の流れはこのようになります.

Z:\>mkdir prog  ←prog ディレクトリの作成

Z:\>cd prog    ←prog ディレクトリへ移動

Z:\prog>cd ..

Z:\>cd prog

Z:\prog>mkdir hello

Z:\prog>cd hello

Z:\prog\hello>

2プログラムの作成

2.1 ソースファイルの編集

ソースファイルの編集は、Windows 標準の簡易テキストエディタであるメモ帳を用いて行います。

コマンドプロンプトから、以下のように入力してメモ帳を起動します。

Z:\prog\hello>notepad hello.c

メモ帳が起動し、ファイル hello.c を新たに作成するか聞かれるので、[はい(Y)] を選ぶ。

メモ帳の実態は、notepad.exe という名前の実行ファイルです。ここでは,コマンドプロンプトから実行ファイル名を指定することにより、プログラムを起動しています.
notepad.exe は引数としてオープンするファイル名を受け取ります。この場合、hello.c ファイルはまだ存在していなかったので、新規に作成するかを確認するダイアログがオープンしました。

以下に示した hello.c は、コンソール(コマンドプロンプト画面)に、hello world と表示するプログラムです。

メモ帳で、C言語のソースを入力する。以下の hello.c の内容をコピー&ペーストで入力し、[ファイル]メニューの[上書き保存] を選択し、保存する。
(WEB画面では見易くするために字下げは複数のスペースで行われている。ソース下の download をクリックすると、字下げにTABが使われているオリジナルのソースコードを表示できる。)

hello1.c

2.2 ファイル内容の確認

再びコマンドプロンプトに戻り、ファイルの内容を確認する。

まず、DIR コマンドを用いて、hello.c ファイルが作成されていることを確認します.

テキストファイルの内容をコマンドプロンプト上で確認するには、 MORE コマンドを使用します。MORE コマンドは、表示するファイル名を引数として受け取ります.

コマンドプロンプトから more hello.c と入力する。ファイルの内容が表示されるので、正しく入力されていることを確認します.

2.3 コンパイル

Visual C++ コンパイラ を起動するコマンドは cl (compile & link)です. ソースファイル名を引数として渡します.

cl hello.c と入力し、コンパイルを実行します.コンパイル実行後にDIRコマンドにより、生成されたファイルを確認します.

Visual C++ 処理系では、オブジェクトファイル、実行ファイルの拡張子はそれぞれ、*.obj、*.exe となる。

2.4 プログラムの実行

hello1.exe が生成されたことを確認したら、コマンドプロンプトより hello と入力し実行する。

以下に、コンパイルから実行までの一連の操作を示します.

Z:\prog1\hello1>cl hello.c  ←コンパイルの実行
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

hello.c
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

/out:hello.exe
hello.obj

Z:\prog\hello>dir             ←生成されたファイルの確認
ドライブ Z のボリューム ラベルは . です
ボリューム シリアル番号は 0586-048E です

Z:\prog\hello のディレクトリ

2006/04/12 05:23 <DIR> .
2006/04/12 04:49 <DIR> ..
2006/04/12 05:23 115 hello1.c
2006/04/12 05:23 452 hello1.obj    ←オブジェクトファイル
2006/04/12 05:23 28,672 hello1.exe  ←実行ファイル
3 個のファイル 29,239 バイト
2 個のディレクトリ 39,088,816,128 バイトの空き領域

Z:\prog\hello>hello
     ←プログラムの実行
hello world!             
←実行結果