【问题标题】:Checking record size in ocaml?检查ocaml中的记录大小?
【发布时间】:2010-10-31 03:25:45
【问题描述】:

有没有办法在 Ocaml 中检查记录的大小?类似于 C/C++ 的 sizeof 之类的东西?

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    是的:

    # Obj.size (Obj.repr (1,2,3,4,5)) ;;
    - : int = 5
    

    但对于记录类型,大小仅取决于类型声明,因此您可以从中推断出来。

    实际占用内存大小是Obj.size返回的数字加一字。单词是 32 位还是 64 位,具体取决于您使用的 OCaml 版本。附加词用于记账。

    【讨论】:

      【解决方案2】:

      除了 Obj 模块,还有一个来自 Dmitry Grebeniuk (http://forge.ocamlcore.org/projects/objsize/) 的 Objsize 库。它使您可以获取有关值及其大小的更详细信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        • 2020-01-29
        相关资源
        最近更新 更多