我开始使用库quickfix,并且在使用 python 版本时遇到了问题:
swig/python detected a memory leak of type 'UtcTimeStamp *', no destructor found
当我查看库的 C++ 源代码时,我可以看到类
FIX::UtcTimeStamp
没有任何析构函数(FieldTypes.h:583)。
是误报吗?或者一个真正的错误,在这种情况下我应该在内部修改
quickfix
的源代码吗?
我对Python的了解不够好,不知道如何追溯内存泄漏,请毫不犹豫地在评论中发布如何操作,我将使用相关信息编辑问题。
析构函数可能就在那里。
您可能以错误的方式编译了该模块。 也许您可以提供有关如何出现此错误以及您正在使用哪个版本的 Python 和 Quickfix 的更多信息:
$ pip list | grep quickfix
quickfix 1.15.1
$ python --version
Python 3.8.17
使用上述版本,以下功能可以正常工作,没有任何内存泄漏:
>>> from quickfix import UtcTimeStampField
>>> UtcTimeStampField(1)
<quickfix.UtcTimeStampField; proxy of <Swig Object of type 'FIX::UtcTimeStampField *' at 0x7fa0131d4960> >