2010-11-09 3 views
1

Я загрузил файлы .ply в файл Stanford 3D scanning repository, и я использую код Стэнфорда с этой страницы (ply.h, plyfile.c), чтобы проанализировать их. Однако, глядя на этот код, я вижу, что он распространен с помощью mallocs, которые никогда не освобождаются. Я мог закрыть глаза и посмотреть в другую сторону, но у меня зудят зубы.Разбор. Файлов файлов без утечек памяти

Я могу думать о двух обходных:

Один использовать сборщик мусора Hans Boehm в, или что-то подобное, который переопределяет «таНос» так, что он делает это в сборщика мусора. Я никогда не использовал эту библиотеку, но, возможно, есть способ заставить ее работать только с маллоками в коде Стэнфорда, а не где-либо еще.

Другое обходное решение - использовать другой синтаксический анализатор, предпочтительно C++ с красивым управлением памятью RAII. Я вижу несколько альтернативных синтаксических анализаторов и конвертеров, перечисленных в приведенной выше ссылке, но вместо того, чтобы убить день или два, пробуя их все, я надеялся получить рекомендацию здесь.

Может кто-нибудь рекомендовать способ разбора файлов .ll без утечек памяти, либо путем утечки памяти в синтаксическом анализаторе Stanford, либо с использованием другого синтаксического анализатора, или каким-либо третьим методом, о котором я не думал?

ответ

Смежные вопросы