在 python 中检测 C 类型限制 ("limits.h")?
Detecting C types limits ("limits.h") in python?
我在python中编写了一个小测试程序,用于在许多情况下测试一些C 函数。此 python 程序使用 ctypes
导入和使用我的 C 函数。
但我也想测试最小值和最大值的情况(例如 limits.h
的 ULLONG_MAX
)。
但是由于其中一些限制可能取决于系统,我宁愿避免在我的程序中对其进行硬编码;我宁愿动态获取它。
是否可以在 python 中获得这些限制值?
我相信你能得到的最接近的是
ctypes.sizeof(whatever_type)
它以字节为单位为您提供类型的大小。例如,您可以使用 ctypes.sizeof(ctypes.c_int)
来计算一个字节是 4 个字节、8 个字节还是其他一些奇怪的数字。
我在python中编写了一个小测试程序,用于在许多情况下测试一些C 函数。此 python 程序使用 ctypes
导入和使用我的 C 函数。
但我也想测试最小值和最大值的情况(例如 limits.h
的 ULLONG_MAX
)。
但是由于其中一些限制可能取决于系统,我宁愿避免在我的程序中对其进行硬编码;我宁愿动态获取它。
是否可以在 python 中获得这些限制值?
我相信你能得到的最接近的是
ctypes.sizeof(whatever_type)
它以字节为单位为您提供类型的大小。例如,您可以使用 ctypes.sizeof(ctypes.c_int)
来计算一个字节是 4 个字节、8 个字节还是其他一些奇怪的数字。