C++에서 프로세스가 종료되면 동적할당한 메모리들이 모두 자동 해제 되나요?
글쓴이: somet2001 / 작성시간: 화, 2014/06/17 - 8:10오후
안녕하세요.
제가 코딩하고 테스트를 하다가
일반적인 경우에는 동적할당한 것들 해제가 잘 되던데요
프로세스를 강제종료 한 경우에는 메모리 해제 코드가 실행되기 전에 프로세스가 종료되어버립니다.
그래서 동적할당이 된 후 해제하는 코드가 실행되지 못하구요.
듣기로는 OS마다 자동으로 프로세스 종료시 메모리를 해제해 주는 OS가 있고 아닌것이 있다고 하는데요
OS상에서 이 기능을 지원해주지 않는다면
프로그램이 강제종료 되어 메모리할당 해제 코드가 실행되지 못했을 경우
시스템을 종료할 때 까지 메모리가 잡혀있는 상태가 되는건가요?
--------------------------------------------------------------------------
C++에서 프로세스가 종료되면 동적할당한 메모리들이 모두 자동 해제 되나요?
Forums:
네. 자동으로 해제됩니다.
네. 자동으로 해제됩니다.
?
질문자분이 아시는 모든 운영체제는 알아서 해제합니다. "해제" 라고 불러야 할지 모르겠지만.
메모리야 별 문제가 없지만 다른부분은 조심.
OS가 관장하지 않는 자원을 사용할 경우 (예:직접 구현한 원격 서버에서 제공하는 자원을 사용할 경우) 강제종료에 대비한 별도의 처리를 해주어야 합니다.
--
아하
감사합니다~
댓글 달기