2010-10-28 1 views

ответ

7

Да:

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

Но для типа записи, размер зависит только от объявления типа, так что вы могли бы просто вывести его из этого.

Фактический размер, занимаемый в памяти, - это номер, возвращаемый Obj.size плюс один на словах. Слова 32 или 64 бит, в зависимости от того, какую версию OCaml вы используете. Дополнительное слово используется для ведения бухгалтерского учета.

+0

Только то, что я искал - спасибо! – akoprowski

1

Помимо модуля Obj, имеется библиотека Objsize от Дмитрия Гребенюка (http://forge.ocamlcore.org/projects/objsize/). Он позволяет получить более подробную информацию о значениях и их размере.