gccrun.cmd その4
こうして、コンパイル前に、事前に .exe を削除しておくのだ。
:main REM コンパイル前処理 if exist %srb%.exe del %srb%.exe if exist %srb%.rc goto rccompile goto compile
次に、ファイル %srb%.rc
の存在を確認する。.rc とは、リソーススクリプトファイルの一般的な拡張子である。もし、存在するならば、C のソースとあわせてコンパイルしてやる必要があるため、ラベル rccompile
にジャンプする。存在しないなら、ラベル compile
に跳ぶ。
:rccompile REM リソースファイル付きコンパイル実行 windres %srb%.rc %srb%.o gcc %copt% %src% %srb%.o -o %srb%.exe -s -Wall goto run
ラベル :rccompile
以下の処理は、以上のようなコードとなっている。ここでは、まず、windres
.exe というアプリケーションを実行する。これは、gcc
.exe と一緒に MinGw のパッケージに含まれている。
windres.exe は、リソーススクリプトファイルを .o ファイルに変換するプログラムだ。リソーススクリプトとは、ボタンだったり、ウィンドウタイトルバーの下にあるメニューだったりを簡単にレイアウトして表示・機能させるための言語である。C のソースコードにて、リソーススクリプトファイルに記述してあるそれらを呼び出して使う。
リソーススクリプトファイル %srb%.rc
を %srb%.o
に変換し終えると、次に、gcc
によって C ソースコードをコンパイルし、アプリケーションファイル %srb%.exe
を生成する。その際、C ソースコード %src%
だけでなく、先程の windres で生成した %srb%.o
ファイル名も合わせて入力しておく。と、うまくミックスしてコンパイルしてくれるのだ。
こうして、アプリケーション %srb%.exe
の生成を実行したあとは、ラベル run
に処理が移る。