使用自定义构建 C-API Python 3.3.5 模块
Using custom-build C-API Python 3.3.5 module
我正在尝试为使用 Python 3.3.5 作为脚本扩展的游戏 (Assetto Corsa) 导入 C-API Python 模块。
我正在使用 here 所述的 MSVC 10.0 来构建工作正常的扩展。
导入生成的 *.pyd 文件在终端(使用 Python 3.3.5)和调用脚本时在游戏中都有效。
但是,实例化 class 对象仅在终端中有效,但在游戏中执行时会导致崩溃。
通过记录所有执行的语句,我知道 C-API 中的构造函数被正确调用,所以问题一定出在其他地方。
我认为发布所有代码可能太多了,正如我所说,它按预期工作。
Does anybody have an idea, what might be wrong?
目标平台显然是Windows。
我自己解决了这个问题,但是我不确定是什么原因造成的。
从 'PyTypeObject' 描述中删除垃圾收集标志 'Py_TPFLAGS_HAVE_GC' 和指向析构函数的函数指针就可以了。
小心,这可能会导致内存泄漏! :)
我正在尝试为使用 Python 3.3.5 作为脚本扩展的游戏 (Assetto Corsa) 导入 C-API Python 模块。 我正在使用 here 所述的 MSVC 10.0 来构建工作正常的扩展。 导入生成的 *.pyd 文件在终端(使用 Python 3.3.5)和调用脚本时在游戏中都有效。 但是,实例化 class 对象仅在终端中有效,但在游戏中执行时会导致崩溃。
通过记录所有执行的语句,我知道 C-API 中的构造函数被正确调用,所以问题一定出在其他地方。 我认为发布所有代码可能太多了,正如我所说,它按预期工作。
Does anybody have an idea, what might be wrong?
目标平台显然是Windows。
我自己解决了这个问题,但是我不确定是什么原因造成的。 从 'PyTypeObject' 描述中删除垃圾收集标志 'Py_TPFLAGS_HAVE_GC' 和指向析构函数的函数指针就可以了。 小心,这可能会导致内存泄漏! :)