2015-01-07 66 views
0

我偶然发现了scikit-learn的安装说明。 要检查系统的体系结构,无论是32位还是64位struct.calcsize('P')究竟意味着什么?

这究竟意味着什么? P格式说明符是什么意思?它在32位系统和64位系统中有何不同?

当我把不同的说明符?

+2

阅读文档https://docs.python.org/3.1/library/struct.html - 'void *' – Dunes

+0

@Dunes它计算字节对象返回包的大小。它用fmt字符串'P'表示字节对象。资本'P'代表什么。我找不到它。 –

+0

@Dunes嗯,我试过struct.pack('P','A'),它说它想要一个整数,所以我猜'P'是INT。 现在,规模正在下降到4字节。所以它使用4个字节来存储一个整数。乘以8给我们32位。 这个逻辑是否正确? –

回答

2

struct是一个模块,用于将数据打包到C表达式和从C表达式解压数据。 P代表void *(通用指针)。在32位系统上,指针是4个字节,而在64位系统上,指针需要8个字节。 struct.calcsize('P')计算存储单个指针所需的字节数 - 在32位系统上返回4,在64位系统上返回8。

相关问题