ねこめもmkII(マークツー)

本家ねこめも (http://nekomemo2.site)の補助用。 主に勉強ネタ。

10日目(.cファイル増殖)

先日のメモリ表示は、makeコマンドで「-m 32」のオプションを付ければ32MBになることがわかった。
ここでは表示だけの問題で特に動作に影響はなさそうだが、念のため付けるようにする。

Makefileの該当箇所は以下。

 run : make img

  qemu-system-i386 -m 32 -fda haribote.img

これでmake runすると、ウィンドウ内に表示される文字が「memory 32MB free : 29304kB」になる。

前回の続きで、bootpack.cからメモリ管理のmemory.cが分離。
次のharib07bでさらにsheet.cが増える。.cファイルが増殖していく。
Makefileでは最初はgccコマンドで.cファイルを並べていたが、今はldコマンドで一つのオブジェクトファイル(.o)にしている。
このほうが楽かと思ったが、あまり変わらない気がする。
(そろそろ一度見直したい)

後半の高速化の項目だが、harib07bの時点でも自分の環境では、本書に書かれているほどにはマウスの動きは鈍くなかった。 
でも一応高速化の手順を踏んで、bootpack.cを書き換える。

その途中、

 error: too many arguments to function ‘sheet_refresh’

というエラーが出たが、bootpack.h内のsheet_refreshの定義が変わっていたせいだった。
bootpack.cを書き換えたら、bootpack.hを見直すのは必要。

内容は、いくら読んでも「重ね合わせ」というものがなかなか理解できずあちこちのサイトを巡ったが、わかりやすかったのは結局いつも参照させていただいているところに落ち着いた。
プログラム自体も、構造体の中の構造体、という複雑さにそろそろ理解が追いつかない。
でもわかったことにしておいて、次に進む。

 


 今回参照させて頂いたサイト:
https://wisteria0410ss.hatenablog.com/entry/2019/02/08/163712
http://bttb.s1.valueserver.jp/wordpress/blog/2018/01/12/makeos-10/
https://qiita.com/Aquan_Investor/items/1e589ceb1f9b6c1eaab5