我在test.pyx
中有以下代码cdef class Test:
cdef long long i
def __cinit__(self, long long i):
self.i = i
def __truediv__(Test self, Test other):
return Test(self.i / other.i)
在一个简短的python脚本中,我有这个:
import test
print('Done')
当我在编译test.pyx后运行脚本时,我得到以下输出以及Windows错误对话框“python.exe已停止工作”。
Done
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
请注意,我从不调用已编译的代码,只导入它。另请注意,崩溃仅在python脚本完成执行后发生。我注意到将 i 从 long long 更改为 long 会导致错误消失。是否存在一些我缺少的基本内容,或者是 long long 并不总是安全的?
有关我的设置的一些信息,如果它有所作为:
操作系统:Windows 7,64位
Python版本:3.4.2,MSC v 1600 32位
Cython版本:0.22
编译器:mingw32