Звучит так, будто вы просите преобразовать строку в тип int, но строка обозначает значение, которое слишком велико, чтобы поместиться в OCaml int в 32-разрядной системе. В 32-разрядной системе int имеет значение 31 бит для значения. Без дополнительной информации трудно сказать больше, чем это.
Если вы компилируете с флагом -g
, вы можете запросить трассировку, установив переменную окружения OCAMLRUNPARAM=b
. Это должно дать более подробную информацию о том, где что-то идет не так.
Вы не говорите, на какой системе вы работаете. Если вы запускаете вашу программу из командной строки в Unix-подобной системе, вы можете установить OCAMLRUNPARAM
следующим образом:
$ OCAMLRUNPARAM=b myproject arg1 arg2