Разве ANSI C накладывает ограничение на размер программы в памяти? - PullRequest
3 голосов
/ 26 июля 2011

Мне сказали это, и я не смог найти подтверждения или опровержения в сети. Это правда? Если да, то какой предел? Это обычно применяется компиляторами?

Ответы [ 2 ]

8 голосов
/ 27 июля 2011

ANSI C не занимается такими вещами.

В стандарте C99 нет ничего в §5 Среде , в котором даже говорится о «загрузке программы в память».

Единственные соображения - это то, что должна обеспечивать среда, чтобы она соответствовала абстрактному конечному автомату, который является основой для языка / стандарта. Это не требует «загрузки программы в память» - код может быть помещен в колоду перфокарт.

Существуют ограничения, выраженные для наборов символов, размера и сложности кода source и некоторых других вещей, но в основном это нижние границы, которые должна принимать соответствующая реализация, и они относятся к переводу среда, а не среда выполнения.

1 голос
/ 26 июля 2011

Если ваш исполняемый файл слишком велик, вы можете потерпеть поражение, но кроме исполняемых форматов, специфичных для реализации, максимальный размер отсутствует.

...