Проверка размера записи в ocaml? - PullRequest
5 голосов
/ 28 октября 2010

Есть ли способ проверить размер записи в Ocaml? Что-то вроде sizeof C / C ++?

Ответы [ 2 ]

7 голосов
/ 28 октября 2010

Да

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

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

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

1 голос
/ 30 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...