У меня большой проект на C, и я хочу представить его API для python с помощью SWIG.Для этого у меня есть скрипт для автоматической генерации файла интерфейса для swig (.i file).Для каждого типа, определенного в проекте, скрипт добавляет в интерфейсный файл% pointer_functions и% array_functions для этого типа.Эти директивы создают набор функций, включая «новую» функцию, которая, в свою очередь, выделяет память.Есть ли способ автоматически освободить эту память, когда объект собирается мусором, вместо того, чтобы явно вызывать функцию «delete»?
У меня есть решение для структур, использующее директиву% newobject и% extension с определением деструктора, котороеОсвободить выделенную память - аналогично решению в этом посте SWIG - Сборка мусора с использованием% newobject .Но он не работает с примитивными типами, такими как int, enum и т. Д ... Есть идеи, как решить эту проблему для таких типов?