在Python中验证ctypes类型精度 如果API需要64位类型,如果返回字节数,如何检查类型是否有那么多位 如何知道当前平台上每个字节中有多少位 Python在哪里定义

在Python中验证ctypes类型精度 如果API需要64位类型,如果返回字节数,如何检查类型是否有那么多位 如何知道当前平台上每个字节中有多少位 Python在哪里定义,python,c,ansi,limits,Python,C,Ansi,Limits,C/C++函数签名是用C/C++类型编写的,如“int”或“double”或“uint32\t”。所有这些都有相应的CType等价物,因此通常您不关心位的数量 也就是说 import os print os.sysconf('SC_CHAR_BIT') …我想这是你能得到的最接近的了。不适用于非Unix平台。正如tMC在评论中指出的,它甚至不能在所有Unix平台上工作;我相信这是GNU的扩展 [更新] 实际上,似乎命令CHAR_位==8。因此,在任何支持SC_CHAR_BIT sysconf选

C/C++函数签名是用C/C++类型编写的,如“int”或“double”或“uint32\t”。所有这些都有相应的CType等价物,因此通常您不关心位的数量

也就是说

import os
print os.sysconf('SC_CHAR_BIT')
…我想这是你能得到的最接近的了。不适用于非Unix平台。正如tMC在评论中指出的,它甚至不能在所有Unix平台上工作;我相信这是GNU的扩展

[更新]


实际上,似乎命令CHAR_位==8。因此,在任何支持SC_CHAR_BIT sysconf选择器的系统上,您实际上并不需要它:-)。

不,八位字节是8位。顺便说一句,现在大多数字节都是八位字节宽的。:)FWIW-在OSX 10.7上,在包含的Python 2.6上;那是不存在的
os.sysconf('SC\u CHAR\u BIT')
-
value错误:无法识别的配置名称。看起来它可能是一个GNU扩展。。。谢谢