swig/python обнаружил утечку памяти типа time_t

Мой код работает, но появляется следующее предупреждение:

swig/python detected a memory leak of type 'time_t *', no destructor found

Как мне его успокоить?


person Sophie Sperner    schedule 12.03.2011    source источник
comment
Да, я должен каким-то образом определить свой пользовательский тип time_t в файле модуля SWIG. Но больше я не знаю..   -  person Sophie Sperner    schedule 12.03.2011


Ответы (2)


Просто добавьте typedef long time_t; в файл интерфейса SWIG.

Как только SWIG узнает, что time_t является собственным типом, он не будет рассматриваться как объект, требующий управления памятью.

person ets    schedule 14.02.2014
comment
Разве это не немного опасно? Что, если time_t является long long в какой-то системе? - person Zan Lynx; 09.07.2014

Я получал эту ошибку всякий раз, когда обращался к члену структуры, содержащему тип, который не был обернут SWIG. Не уверен, что это ваша проблема (публикация вашего кода поможет: P), но если да, то вы можете либо определить свой собственный time_t в файле интерфейса (просто поместите определение C в файл интерфейса), либо сказать SWIG обернуть (предположительно) системный заголовочный файл, содержащий определение time_t.

person Mike T    schedule 10.06.2011