gpt4 book ai didi

haskell - foreign.Storable 中的大尺寸 Bool

转载 作者:行者123 更新时间:2023-12-02 12:30:01 25 4
gpt4 key购买 nike

我明白了:

GHCi> import Foreign.Storable
GHCi> sizeOf False
4

我预计它是 1。但我认为它可能带有一些指针或迫使它变得更大的东西。但似乎没有必要:

GHCi> import Data.Word
GHCi> sizeOf (0 :: Word8)
1

是什么迫使Bool存储这么大?这似乎是对内存的巨大浪费。

最佳答案

从 GHC-8.2/base-4.10 开始,CBool​​ 类型在通过 Storable 存储时只需要一个字节。

https://hackage.haskell.org/package/base-4.10.0.0/docs/Foreign-C-Types.html#t:CBool

或者,还有新的包 bool8。它提供了一个围绕 Bool 的包装类型,其 Storable 实例仅使用一个字节。

https://hackage.haskell.org/package/bool8

关于haskell - foreign.Storable 中的大尺寸 Bool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777675/

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