Я понимаю, что уборка - это хорошо. Я также разбираюсь во внутреннем устройстве ОС, поэтому, если я знаю, что мой процесс завершается, его память будет освобождена. Но мне нравится предлагать иную точку зрения. Я в курсе, что это довольно ПЛОХАЯ идея освобождать память при выходе.
Например, Возможно, я выделил большой объем памяти, который в настоящее время выгружен, если я освобожу его при выходе, его скорее нужно перенести в ОЗУ, а затем освободить. Если я этого не сделаю, при выходе он будет просто отмечен как свободный в одной таблице.
В целом, операционные системы сильно изменились (основы остались прежними), я понимаю, что этот вопрос можно придумать для A_VERY_PLATFORM_DEPENDENT, но с точки зрения сегодняшнего разработчика приложений он либо застрял (?) В каком-то фреймворке, либо смельчак-программист, который работает над необработанными технологиями, поскольку на него в значительной степени полагаются, я бы назвал VERY_CONTROLLED_ENVIRONMENT.
Для TL;DR
: В современных ОС, я думаю, НЕ следует выполнять очистку при выходе. Если ты думаешь, что я ошибаюсь, почему?
PS: Я НЕ говорю о RTOS, я имел в виду контролируемую среду, означающую Windows, Linux, и я никогда не имел в виду разработку драйверов устройств или, в этом отношении, разработку ОС.
free
и SOfree
- person bolov   schedule 07.12.2014