检查ocaml中的记录大小?

问题描述:

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

是:

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

但对于一个记录类型,大小只取决于类型声明,所以你可以只从该来推断。

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

+0

正是我在找的 - 谢谢! – akoprowski 2010-10-28 14:21:37

除了Obj模块,还有一个来自Dmitry Grebeniuk的Objsize库(http://forge.ocamlcore.org/projects/objsize/)。它可以让你获得更多关于数值和大小的详细信息。