Я загрузил файлы .ply в репозиторий 3D-сканирования Stanford и использую код Стэнфорда с этой страницы (ply.h, plyfile.c) для их анализа.Однако, глядя на этот код, я вижу, что он изобилует malloc, которые никогда не освобождаются.Я мог бы закрыть глаза и посмотреть в другую сторону, но это заставляет мои зубы чесаться.
Я могу вспомнить два обходных пути:
Один из них - использовать сборщик мусора Ханса Бома или что-то подобное,который переопределяет "malloc" так, чтобы он делал это внутри сборщика мусора.Я никогда не использовал эту библиотеку, но, возможно, есть способ заставить ее работать только с malloc в коде Стэнфорда, а не где-либо еще.
Другой обходной путь - использовать другой синтаксический анализатор, предпочтительно C ++с хорошо управляемым RAII управлением памятью.Я вижу несколько альтернативных парсеров и преобразователей, перечисленных в приведенной выше ссылке, но вместо того, чтобы убить день или два, пробуя их все, я надеялся получить рекомендацию здесь.
Может кто-нибудь порекомендовать способ парсинга .plyфайлы без утечек памяти, либо путем сдерживания утечек памяти в анализаторе Стэнфорда, либо с использованием другого анализатора, либо каким-либо третьим методом, о котором я не думал?