2014-12-22 4 views
0

Недавно я начал программирование с помощью pascal, и я понял, что при выходе из программы все выделенные памяти (с использованием либо new, либо getmem) освобождаются. Так может ли программа, написанная на pascal, вызывать утечку памяти, несмотря на это?может произойти утечка памяти в pascal pl?

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

+1

Я думаю, вам нужно определить, что вы подразумеваете под утечками памяти, или предоставить язык в качестве примера, который вызывает утечки, которые вы упоминаете. По крайней мере, по моему опыту большинство языков, которые допускают утечки памяти, похожи на C и C++, в том, что утечка почти всегда прекращается и возвращается после завершения процесса. То есть утечка памяти ограничена временем выполнения процесса. – UpAndAdam

+0

Иногда память может протекать с компьютера вниз на пол внизу, поэтому вы должны это проверить. –

+0

, например, в C, если вы выделяете память и не освобождаете ее перед выходом, тогда у вас будет утечка памяти. – user3776836

ответ

0

После закрытия программы в Pascal (или любого другого языка, если на то пошло) в Windows Windows перераспределяет память, ранее занятую Pascal для других целей.

Таким образом, Pascal не может вызвать утечку памяти, но если вы имеете в виду безопасность, утечки памяти - это не вся история, есть много других вещей (временные файлы и т. Д.), «Утечки» тоже.

0

утечка памяти - это термин, используемый для описания ситуации, которая происходит при запуске программы, а не после ее завершения. Вы «утечка» памяти при ее динамическом распределении, но не освобождаете ее, когда она вам больше не нужна. Если эта ситуация случается достаточно долго (это было бы особенно плохо в длительных программах, таких как серверы или внутри большого цикла), утечка памяти приведет к сбою программы или ее неработоспособности, поскольку она исчерпала всю память ОС может выделить ему. Программа, которая потребляет чрезмерную память, также может привести к замедлению работы компьютерной системы, поскольку операционная система вынуждена использовать виртуальную память (на жестком диске) для управления всеми запущенными программами. «отходы памяти» могут быть лучшим термином для того, что происходит.

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

Смежные вопросы