C++ で画像処理プログラムを作成しています。この目的のために、サード パーティ プログラム (エッジ検出器) を、プログラムで使用する静的ライブラリに変更しました。
元のエッジ検出器は、メイン関数が実行された後にメモリをクリーンアップするために OS に依存していたようです。残念ながら、この元のコードを変更した後、メイン関数は「共通」の繰り返し呼び出される関数になり、自動クリーニングは実行されません。その結果、関数が呼び出されるたびに大量のメモリ リークが発生します。
これを修正するために検出器のコード全体を徹底的に確認することはできません。したがって、質問したいのですが、一般に、プログラム全体の「サブルーチン」(私の場合は検出器)を残りの部分から分離し、サブルーチンの後にOSが強制的にクリーンアップする方法はありますかスタンドアロンプログラム?たとえば、スレッドを使用した解決策はありますか?
返信ありがとうございます。