【发布时间】:2010-10-31 03:25:45
【问题描述】:
有没有办法在 Ocaml 中检查记录的大小?类似于 C/C++ 的 sizeof 之类的东西?
【问题讨论】:
标签: ocaml
有没有办法在 Ocaml 中检查记录的大小?类似于 C/C++ 的 sizeof 之类的东西?
【问题讨论】:
标签: ocaml
是的:
# Obj.size (Obj.repr (1,2,3,4,5)) ;;
- : int = 5
但对于记录类型,大小仅取决于类型声明,因此您可以从中推断出来。
实际占用内存大小是Obj.size返回的数字加一字。单词是 32 位还是 64 位,具体取决于您使用的 OCaml 版本。附加词用于记账。
【讨论】:
除了 Obj 模块,还有一个来自 Dmitry Grebeniuk (http://forge.ocamlcore.org/projects/objsize/) 的 Objsize 库。它使您可以获取有关值及其大小的更详细信息。
【讨论】: