スタンフォードの 3D スキャン リポジトリで .ply ファイルをダウンロードし、そのページからスタンフォードのコード (ply.h、plyfile.c) を使用して解析しています。しかし、このコードを見ると、決して解放されない malloc がはびこっていることがわかります。目を閉じて横を見ることもできますが、歯がかゆくなります.
2 つの回避策が考えられます。
1 つは、Hans Boehm のガベージ コレクタ、またはガベージ コレクタ内で実行するように「malloc」を再定義する同様のものを使用することです。私はこのライブラリを使用したことはありませんが、スタンフォード コードの malloc だけで動作し、他の場所では動作しないようにする方法があるかもしれません。
他の回避策は、別のパーサーを使用することです。できれば、適切に RAII 化されたメモリ管理を備えた C++ パーサーを使用してください。上記のリンクにいくつかの代替パーサーとコンバーターがリストされていますが、それらすべてを試すのに1日か2日を費やすのではなく、ここで推奨事項を取得したいと考えていました.
スタンフォード パーサーでメモリ リークを封じ込めるか、別のパーサーを使用するか、または私が考えもしなかった第 3 の方法を使用して、メモリ リークなしで .ply ファイルを解析する方法を推奨できる人はいますか?