情報詳細Q: C++でHALCONの変数にDiposeを行ってもメモリが解放されない場合があります。 とりわけ下記の状況のときにはどうすればいいですか? オペレータの変数のスコープは関数内だけですので、関数を抜けるとオペレータの変数は解放されると思うのですが、使用メモリは減りません。 エッジの変数を解放するために、何か明示的に必要でしょうか? A: 関数を抜けてもメモリが解放されない場合、HALCON側で確保したキャッシュによるものと思われます。 HALCON側でメモリをキャッシュするという設定がございます。 set_system ('temporary_mem_cache', 'false') set_system('global_mem_cache','idle') とすることで、メモリキャッシュを実行しない設定になります。上記の設定により、メモリをHALCON側で継続的に確保しないため、使用後その都度解放いたします。ただし、global_mem_cacheは1024バイト未満という条件があり、これ以上の場合、キャッシュは実行されずに消去されます。また、繰り返し同じ処理を行う場合、'temporary_mem_cache'を利用して処理時間の高速化が望めないため、処理時間が延びる可能性があります。 添付ファイルタイトルC++:HALCONで作成したアプリケーションのメモリ使用量が増えるURL 名000005669公開状況公開済み検証状況公開済み