Я создаю интерфейс между C ++ и кодом Python.
Я создаю модуль с именем composition_api
в файле интерфейса Swig.У него есть методы, которые я импортирую в модуль Python, как показано ниже.
/// SWIG Interface File.
%module composition_api
%{
#include <include/mcm/compiler/compilation_unit.hpp>
mv::CompilationUnit* getCompilationUnit(bool disableHardware)
{
auto unit = new mv::CompilationUnit("pySwigCU");
return unit;
}
}
Я импортирую это как библиотеку в скрипт Python.
Скрипт Python
import composition_api as ca
compUnit = ca.getCompilationUnit(not enableHardware)
Когда скрипт Python завершен, деструктор CompilationUnit
невызывается в исходном коде C ++.Должен ли я создать метод в файле интерфейса, который вызывает delete unit
?