2.プログラム作成
やっと本題のプログラム作成をしていこう!
・目次
1.プロジェクトの場所決め
2.プログラム作成
3.コンパイル
P1.compile.batを加工する
4.動作確認
1.プロジェクトの場所決め
examplesフォルダ内のcompile.batがあればどこでもいいので以下フォルダ構成と
ファイルをコピーして新規プロジェクト用フォルダを作成する
◇コピー元
C:\gbdk\examples\gb\template_subfolders
└compile.bat
└res
└src
◇コピー先(新規作成)
C:\gbdk\ 01_Project\gb\template_subfolders
└compile.bat
└res
└src
└main.c
2.プログラム作成
作業場所が決まったのでプログラムを作っていこう!
"main.c"を以下内容に書き換える
まずはお馴染み"HELLO WORLD"から
C:\gbdk\01_Project\gb\template_subfolders\src\main.c
#include <stdio.h> //ライブラリ参照
void main(void)
{
printf("HELLO WORLD");
}
◇解説
#include //ライブラリ参照
→printf()関数を使用するため、printf()関数が記載(定義)
されている"stdio.h"ヘッダーファイルをコピペして!という意味。
void main(void)
→戻り値がvoid型の "main"という名の関数で、
引数(ひきすう)がvoid型という意味。
main関数はプログラムの中で一番最初に動くところ。
void型の戻り値は戻り値がないことを表す。(つまり最上位のプログラム)
void型の引数は引数がないことを表す。
(つまり何もデータを必要としない最上位のプログラム)
{
→main関数内を表す始まりかっこ。
printf("HELLO WORLD");
→printf()関数を使用して、""で囲った文字を出力して!という意味。
}
→main関数内を表す終わりかっこ。
3.コンパイル
プログラムができたのでコンパイルしてみる
C:\gbdk\01_Project\gb\template_subfolders\compile.bat
P1.compile.batを加工する
ポイントその1
mac等ではコマンドを実行することによって"Makefile"を読み込み、
自動的にcompile.batを再生成してくれるみたいだが、Windowsはできないようなので
手動で書き換える。(調べればできるようになる?)
REM Automatically generated from Makefile
mkdir -p obj
..\..\..\bin\lcc -c -o obj\main.o src\main.c
REM ..\..\..\bin\lcc -c -o obj\dungeon_map.o res\dungeon_map.c
REM ..\..\..\bin\lcc -c -o obj\dungeon_tiles.o res\dungeon_tiles.c
..\..\..\bin\lcc -o obj\Example.gb obj\main.o REM obj\dungeon_map.o obj\dungeon_tiles.o
pause
◇解説
4行目・・・REMに変更 dungeon_map.cはサンプルプログラムのため
5行目・・・REMに変更 dungeon_tiles.cはサンプルプログラムのため
6行目・・・後方をREM obj\dungeon_map.o と obj\dungeon_tiles.oはサンプルプログラムのため
7行目・・・pause追加(エラー発生時の確認用)
最終的に必要なのは以下のみ
2行目・・・mkdir -p obj
→"-p"と"obj"というフォルダを作る (初回作成後はREMでいい)
3行目・・・......\bin\lcc -c -o obj\main.o src\main.c
→main.cをmain.oにコンパイルし、"obj"フォルダに格納
6行目・・・......\bin\lcc -o obj\Example.gb obj\main.o
→main.oをExample.gbにまとめ、"obj"フォルダに格納
書き換えが完了したらcompile.batを実行する
正常に動けば以下に"Example.gb"ができているはず。
C:\gbdk\01_Project\gb\template_subfolders\obj
4.動作確認
visualboyadvanceで動かしてみる
visualboyadvanceの導入方法は他の方の記事を参考にしてみてください。
以上!
次回はすこし凝ったプログラムをしてみよう!!