私はシューティングゲームをしており、一定時間後にスプライトがまったく読み込まれずに連続して撮影されるという問題が発生しています。私のコンソールでは、エラープリントアウト:C++/SDL2 IMG_Loadエラー(メモリ不足)
「IMG_LOAD_ERROR:メモリ不足です」:
私も弾薬数を表示するテキスト(SDL_ttf)を使用します(「IMG_LOAD_ERRORは、」私自身のものでした)。
私は今、私が作成したすべての敵のコンストラクタで常にIMG_load関数を呼び出すという仮説を立てていますが、それが原因であるかどうかはわかりません。私が考えることができる可能性がかなりあります。
また、テクスチャが破壊されたとき(敵の健康状態が悪いときや画面から離れたとき)にテクスチャを解放します。
誰かがこれを理解し、解決する手助けをすることができますか?
コードを提供していないのにコードを提供していないことにご了承いただいたことに驚いています。私たちはあなたのコードが何が間違っているのかを把握するよう求めていることを認識していますか? – sokkyoku
プログラムが実行された後、同じ単一のイメージでも、しばらくしているのでしょうか?後者の場合は、以前に割り当てたメモリを解放していない可能性があります(@Novrosの回答を参照)。 valgrindがあなたのOS上で動くことができるなら、おそらく、その種の間違いを見つけるのに最も簡単なツールです。もしそうでなければ、リークを見つけるために特別に設計された選択肢がありますが、バググリンドほど冗長ではないかもしれません。ソースコードを見るのはうれしいことですが、それを知っていてまだコードを投稿していないのであれば、質問には大きすぎると思われます。 – keltar