メモリ開放ログ@シューティング

メモリ開放についてアドバイスをいただきました。

mallocとFreeを隠蔽してそれぞれの開放したアドレスをログで吐き出すといいよ。とのことでした。
なるほどです。メモリ周りを扱いなれてなくて、まだまだ感が漂ってますがやっていきます。

とりあえず、結果ですが、

Logだあああ.
Malloc :scinario_file = 11620376
Malloc :enemy_file = 11621440
Malloc :st1_scenario.commands = 57213032
Malloc :enemy_names = 57283096
Malloc :enemy_commands = 57285160
Malloc :enemylibs = 11622504
Malloc :fighter_sfc = 11613368
Malloc :enemy_sfc = 11613488
Malloc :bullet_fighter_sfc = 11644968
Malloc :bullet_enemy_sfc = 11645088
Malloc :bg_sfc = 11645208
Malloc :lockon_cursor_sfc = 11645328
Malloc :effectlib = 57565224
Malloc :effect_images = 57571688
Malloc :enemylibs_command = 57971752
Malloc :enemylibs_name = 11645448
Free :scinario_file = 11620376
Free :enemy_file = 11621440
Free :st1_scenario.commands = 57213032
Free :enemy_names = 57283096
Free :enemy_commands = 57285160
Free :enemylibs = 11622504
Free :fighter_sfc = 9775104
Free :enemy_sfc = 9774912
Free :bullet_fighter_sfc = 9774720
Free :bullet_enemy_sfc = 9774528
Free :bg_sfc = 0
Free :lockon_cursor_sfc = 9774336
Free :effectlib = 57565224
Free :effect_images = 57571688
Free :enemylibs_command = 57971752
Free :enemylibs_name = 11645448

となりました。若干見づらいですが、sfc(=SDL_Surface)周りのアドレスが違うことがわかりました。bg_sfcが0なのが気になります。
SDL_Surfaceが領域を確保した後、移動する??ことはないと思うので、調査中です




今日は、読み物が多かったのでシューティングについてはここまで