C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[52036] Re:Re:Re:Re:메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요???
이범상 [] 1622 읽음    2008-01-23 23:35
정확하고 쉬운답변 감사합니다. ^^

열씸! 님이 쓰신 글 :
: new 든 malloc 이든 GlobalAlloc 이든 동적 할당한 메모리는 프로그램의 종료와 함께 해제됩니다.
: 이는 가상보호메모리 시스템에서 당연히 지원되어야 할 부분이고, 정상적인 운영체제라면 그렇게 작동합니다.
: 과거에는 그렇지 못한 운영체제도 있었고, 가령 Windows2000 이하 에서 ReleaseDC가 제대로 안된다든지
: 운영체제들이 가지는 자체적인 자원 반환률을 떨어뜨리는 버그들은 존재하지요.
: 그럼에도 불구하고 열심히 해제하는 버릇을 들여야 하는것은, 해당모듈을 DLL로 싸서 다른 모듈위에 얹는다든지
: 단독 실행화일이 아닌 형태로 가공할 가능성을 두고 있기 때문이죠.
: OS별로 메모리특성에 대해서는 특별히 정리된 자료들이 없어 스스로 조사해 두어야합니다.
: 버전마다 모델마다 버그가 있을 수 있고, 특별한 공유 자원들도 있으니까요.
:
: 궁금하시면
: 프로젝트를 하나 여시고 작업관리자를 띄우신 다음에 할당된 메모리를 주시하시고
: 한 줄 짜 보세요.
: char a = new char[100000000]; 100 메가 할당입니다.
: 그리고 실행하시면
: 사용메모리가 100메가 이상 증가 할꺼고
: 종료하시면 해제 없이도 문제없이 반환되는걸 볼 수 있습니다.
:
: 조상진 님이 쓰신 글 :
: : 커널 객체 이외에는 메모리에 남는것 아니었나요.. ㅇㅅㅇ)?
: :
: : 여태 이렇게 알고 있었는데요..;;
: :
: : 좀더 자세히 설명좀 부탁드려요 __);

+ -

관련 글 리스트
52016 메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요??? 이범상 1013 2008/01/22
52017     Re:메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요??? 열씸! 1532 2008/01/22
52020         Re:Re:메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요??? 조상진 1274 2008/01/23
52026             Re:Re:Re:메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요??? 열씸! 1464 2008/01/23
52036                 Re:Re:Re:Re:메모리 해제 하지 않고 프로그램이 종료되면 어떻게 되나요??? 이범상 1622 2008/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.