Most Java interpreters have a predefined memory limit. However, it's a -X
setting - an implementation specific setting.
With C, the call stack is usually heavily limited. There's usually a compiler setting to increase this limit. This is implementation-specific and as far as the C spec is concerned, there's no call stack limit.
Should implementation-specific options to increase the memory limit count towards the byte/character count? In other words, should limitations of the physical world count towards the byte count?
-X
flag isn't given tojavac
(the compiler), but rather tojava
(the runtime). In this sense it's a bit different from the typical compiler flag. \$\endgroup\$