gpt4 book ai didi

python - struct.calcsize (python) 实际计算什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:17 25 4
gpt4 key购买 nike

已关注 the manual about struct.calcsize

truct.calcsize(fmt)¶

Return the size of the struct (and hence of the string) corresponding to the given format

但我不明白为什么 struct.calcsize('hll') 不是 struct.calcsize('h') 加两倍的 struct.calcsize('l')。见下文。有什么想法吗?

In [216]: struct.calcsize('hll')
Out[216]: 24

In [217]: struct.calcsize('h')
Out[217]: 2

In [218]: struct.calcsize('l')
Out[218]: 8

最佳答案

出于效率目的,我认为这是由于填充元素比机器字短。

访问机器字长倍数的内存地址(例如 64 位机器为 8 个字节)往往会更快。因此,除非另有说明,C 编译器将填充其结构。 struct 模块将为互操作性执行相同的操作。

看起来它是可配置的,具体取决于您计划如何使用它。

关于python - struct.calcsize (python) 实际计算什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34729532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com