struct.calcsize('P') 到底是什么意思?

What does struct.calcsize('P') exactly mean?

我在浏览 scikit-learn 的安装说明时偶然发现了这一点。 检查您的系统架构,是 32 位还是 64 位

具体是什么意思? P 格式说明符是什么意思?它在 32 位系统和 64 位系统中有何不同。

当我输入不同的说明符时会发生什么?

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