Есть ли способ проверить размер записи в Ocaml? Что-то вроде sizeof
из C/C++?Проверка размера записи в ocaml?
4
A
ответ
7
Да:
# Obj.size (Obj.repr (1,2,3,4,5)) ;;
- : int = 5
Но для типа записи, размер зависит только от объявления типа, так что вы могли бы просто вывести его из этого.
Фактический размер, занимаемый в памяти, - это номер, возвращаемый Obj.size
плюс один на словах. Слова 32 или 64 бит, в зависимости от того, какую версию OCaml вы используете. Дополнительное слово используется для ведения бухгалтерского учета.
1
Помимо модуля Obj, имеется библиотека Objsize от Дмитрия Гребенюка (http://forge.ocamlcore.org/projects/objsize/). Он позволяет получить более подробную информацию о значениях и их размере.
Только то, что я искал - спасибо! – akoprowski