Python 3.5.1(AMD64)ctypes.ArgumentError:参数1:<;类别';溢出错误'>;:int太长,无法转换

Python 3.5.1(AMD64)ctypes.ArgumentError:参数1:<;类别';溢出错误'>;:int太长,无法转换,python,windows-10,ctypes,Python,Windows 10,Ctypes,我正在使用WIN32上的Python 3.5.1(AMD64) 我正在Windows 10中运行代码 有没有关于如何修复错误的建议 ctypes.ArgumentError: argument 1: <class 'OverflowError'>: int too long to convert ctypes.ArgumentError:参数1::int太长,无法转换 不要传递太大的整数?默认参数转换为32位Cint。在这种情况下,您很幸运能够在64位Windows上运行,从而捕获

我正在使用WIN32上的Python 3.5.1(AMD64)

我正在Windows 10中运行代码 有没有关于如何修复错误的建议

ctypes.ArgumentError: argument 1: <class 'OverflowError'>: int too long to convert
ctypes.ArgumentError:参数1::int太长,无法转换

不要传递太大的整数?默认参数转换为32位C
int
。在这种情况下,您很幸运能够在64位Windows上运行,从而捕获错误。中间转换为C
long
,在Windows上为32位,因此Python会捕获溢出。在64位Unix上,C
long
是64位的,因此不会出现明显的异常,转换后的值将被无声地截断为32位
int
。如果要传递指针或大整数,则必须声明函数的
argtypes
。无论如何,为了安全和理智,你应该这样做。如果函数返回指针或大整数,则这同样适用于
restype