例えば当時のわたしは,MSYS2 の存在を知りません.
この記事について
[twitter:@Tomoki_Imai] さんの 競技プログラミング入門 へのゆるふわ寄稿です。
Windows 環境で競技プログラミングをするために必要なものの紹介と、インストール手順・使い方を解説します。
なお、プログラミング言語は C++ を使うことを想定しています。
導入
プログラミングをするための環境は様々ですが、競技で IDE (統合開発環境)を使うのは少々重装備すぎると思っています。
従ってこの記事では、 IDE を使わずコマンドプロンプト上からコンパイル・実行ができるようにすることを目指します。
必要なものは、言語処理系とテキストエディタの二つです。
言語処理系として MinGW (に付属する GCC )を採用し、エディタは Vim です……が、多少クセもありますし、他にも有名どころをいくつか紹介します。
また、記事中の例は 32 bit 版 Windows 7 でのものです。
他の環境では変わる可能性があるので、注意してください。
コマンドプロンプト
コマンドプロンプトは次の二通りの方法で開くことができます。
- スタートメニュー -> すべてのプログラム -> アクセサリ -> コマンド プロンプト
- スタートメニュー -> ファイル名を指定して実行 -> "cmd" (引用符は分かりやすさのため)と入力して OK *1
また、任意のフォルダでコマンドプロンプトを開きたい場合は、次の内容を記述したテキストファイルを .bat という拡張子で保存してダブルクリックすると楽だと思います。 *2
cmd
終了する場合はウィンドウのバツボタンをクリックするか "exit"(引用符は分かりやすさのため)と入力して Enter キーを押下します。
MinGW
MinGW とは Minimalist GNU for Windows の略で、UNIX 系 OS でよく使われるツール群を Windows に移植したものです。
これをインストールすることでコンパイラといくつかのツールが使えるようになります。
ダウンロードとインストール
MinGW のサイト の左サイドバー、Navigation 以下にある Download からダウンロードすることができます。
最新版をインストールする場合、下のリストには目をとらわれず、"Download mingw-get-inst- ほげほげ" というリンクをクリックしましょう。
リンクをクリックするとインストーラがダウンロードされるので実行します。
インストール手順はよくあるソフトウェアと同じですので、"next >" をクリックして進めていきましょう。
途中でインストールするコンポーネントを聞かれるので "C++ Compiler" には忘れずにチェックを入れます。
また、MSYS ( Minimal SYStem ) をインストールすると UNIX 由来のツールをコマンドプロンプトで使えるようになるのでこちらにもチェックを入れましょう。
"Next >" をクリックすると確認画面になるので、"Install" をクリックすればインストールが開始されます。
環境変数 PATH の設定
残念ながら、インストールしただけでは好きな場所から呼び出すことができないので、「パスを通す」という作業が必要になります。
まず、スタートメニューを開き、「コンピューター」の右クリックメニューから「プロパティ」を選択します。 *3 *4
次に、「システムの詳細設定」を選択します。
更に「環境変数」と書かれたボタンをクリックします。
すると、環境変数を設定するウィンドウが開くので、ユーザー環境変数から PATH を選択して「編集」ボタンを押します。
(一覧からダブルクリックでも大丈夫です)
「設定値」と書かれた右にあるテキストボックスに次の二つのフォルダのパスをセミコロン ( ; ) で区切って追記します。 *5
元から書いてある内容は消去せずに、追記するようにしてください。
(元からある内容の末尾にセミコロンが無い場合はセミコロンを入れてから追記してください)
下はデフォルトの C ドライブ直下にインストールした場合の例です。
C:\MinGW\bin;C:\MinGW\msys\1.0\bin;
最後に、開いたウィンドウを「OK」ボタンを押して閉じていけば完了です。
コマンドプロンプトから次のコマンドを実行して、GCC のバージョンが表示されれば成功です。
g++ --version
これで、MinGW のインストールは完了です。
エディタ
プログラムを書くにはテキストエディタが必要です。
わたしが使っているのは Vim ( 正確には GUI を備える gVim )で、KaoriYa さんで配布されています。
アーカイブをダウンロードしたら、好きなフォルダに解凍してパスを通しておくとコマンドプロンプトから起動できます。
コマンドプロンプトから起動する場合は、次のようにします。
gvim hogehoge.cpp
あるいは、cpp ファイルの関連付けを変更しておけば、対象をダブルクリックしても起動できます。
他に、Notepad++ や Mery といったエディタがあるので、気に入ったものを使いましょう。
コマンドプロンプト上でのコンパイル
プログラムを書く準備が整ったので、コンパイル・実行の方法を解説します。
ソースファイルを prog.cpp として保存したとしましょう。
プログラムを保存したフォルダでコマンドプロンプトを開いて、次のコマンドを実行するとコンパイルされます。
g++ prog.cpp
コンパイルエラー等が無ければ、a.exe という実行ファイルが生成されます。
実行ファイルの名前を指定するには、次のようにします。
g++ prog.cpp -oprog.exe
ここで、-o に続く文字列が実行ファイルの名前になります。
プログラムの実行
では、コンパイルされたプログラムを実行しましょう。
コマンドプロンプトに実行ファイル名を打ち込めば実行されます。
prog.exe
拡張子は省略可能で、次のようにしても実行できます。
prog
リダイレクト
普通に実行すると、プログラムへの入力を毎回入力するかコピー&ペーストしなければなりません。
これではデバッグ作業がちょっと面倒ですよね。
そこで、「リダイレクト」という機能を利用します。
リダイレクトを使うことで、ファイルに保存した内容をそのままプログラムへの入力とすることができます。
リダイレクトを使うには、実行ファイル名に続いて "<" (引用符は分かりやすさのため)を書き、更にファイル名を続けます。
入力を保存したファイルが input.txt だとして、次のようにして実行すれば、ファイルの内容がプログラムへの入力となります。
prog < input.txt
こうすると、プログラムの出力だけが画面に表示されるので見やすくなるという利点もあります。
まとめ
必要そうなことをどんどん書き連ねていった結果、なんだか取り留めの無い記事になってしまいました。
しかしながら、分量が膨れただけあって、必要なことにはひと通り触れられたのではないかと思います。
この記事が、ほんの少しでも誰かの役に立てば幸いです。
それでは、Good Luck & Have Fun !