メモリ開放ログ@シューティング
メモリ開放についてアドバイスをいただきました。
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が領域を確保した後、移動する??ことはないと思うので、調査中です
今日は、読み物が多かったのでシューティングについてはここまで