检查ocaml中的记录大小?

时间:2010-10-28 12:33:07

标签: ocaml

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

2 个答案:

答案 0 :(得分:7)

是:

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

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

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

答案 1 :(得分:1)

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