Microsoft MVP성태의 닷넷 이야기
[답변]: [답변]: [답변]: 당연히 도움이 되지요. [링크 복사], [링크+제목 복사],
조회: 12734
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

메모리 누수가 있겠는데요.

HRSULT FuncB(BSTR *bstr)
{
.........
(*bstr) = SysAllocString(L"Temp1"); /////// 1번, 여기서 한번 메모리 할당.

if( ...)
{
SysFreeString(*bstr); ////// 2번, 메모리 해제
(*bstr) = SysAllocString(L"Temp2"); ///////// 3번, 메모리 할당.

.........
FuncB(bstr); /// 4번, 이후 위의 1번을 다시 호출.
}
}


위에서 보시면. 1번으로 할당된 후, 2번에서 해제하는 것은 짝이 맞는 데요.
3번에서 다시 할당한 후, 4번 단계에서 재귀호출이 되어 다시 1번 단계의 할당으로 들어가게 되는 데요.
이 경우... 다음과 같은 코드와 같죠.

char *pTemp = new char[ 50 ];
pTemp = new char[ 90 ];

따라서, 이전에 할당된 것이 메모리 해제가 안되었으므로 메모리 누수가 나오게 됩니다.
이걸 방지하기 위해서는 FuncB 의 1번 단계 이전에,
if ( *bstr == NULL )
{
   SysFreeString( *bstr );
}

이란 코드를 넣어주어야 합니다.









[최초 등록일: ]
[최종 수정일: 1/19/2005]


비밀번호

댓글 작성자
 




... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5113하주형1/20/201916842안녕하세요 시작하세요 C# 인코딩관련 질문드립니다. [1]
5112손성배1/19/201926085안녕하세요 cp949 인스톨시 오류입니다... 너무 힘들어요 [5]
5111게스트1/10/201917296암호화 라이센스 관련 문의 드립니다. [1]
5110WPF꿈...1/9/201916547Thread Abort 함수 사용시 [2]
5109닷넷개발1/9/201915987thread 관련 질문 예제.. [2]파일 다운로드1
5108닷넷개발1/9/201917266thread 관련 질문 드립니다.. [4]
5107우코아1/4/201920663WPF에서 로딩중 이미지를 구현 - Project [5]파일 다운로드1
5106우코아1/3/201917636WPF에서 로딩중 이미지를 구현 - Source [1]
5104우코아1/1/201919793WPF에서 로딩중 이미지를 구현 [4]
5103이혜성12/31/20181998232bit .net 으로 만들어진 dll파일 [5]
5102돌고래12/18/201818504자료구조와 알고리즘 도서 관련 질문입니다. [4]
5101세퉁12/17/201816770안녕하세요 wpf 공부중인데 질문있습니다. [4]파일 다운로드1
5100돌고래12/16/201816178도서 추천 부탁드립니다. [1]
5099WPF12/12/201818938안녕하세요. WPF에서 UWP Control을 참조하려고 합니다. [3]파일 다운로드1
5097sdh12/10/201819984[c#] 라이선스 파일 만들기 질문 드립니다. [3]
5096거북이12/3/201815019프로젝트 구성을 참고할 만한 자료가 있을까요? [1]
5095한대현11/21/201815124안녕하세요 c# 설치 파일 빌드중 오류가 생겨서 문의 드려요 [1]파일 다운로드2
5094하주형11/20/201815227안녕하세요 C# using 예약어관련 질문드립니다. [1]
5093Medi...11/19/201819055안녕하세요. wpf Mediaelement 질문 있습니다. [3]
5092하주형11/17/201815240안녕하세요 c# 7.1책 스택관련 질문드립니다. [2]
5091아짱11/15/201817645UWP 개발중 질문이 있습니다. [3]
5090황윤하11/15/201821921c# Socket Server에 접근할 수 있는 client 개수 제한 [5]
5089문성운11/14/201819362uwp에서 TcpListener를 사용할 수 없나요? [5]
5088안중언11/10/201816102TCP 소켓 [1]파일 다운로드1
5084김광흠11/9/201818558사운드 파일 "filename.wav" 와 같은 특정 파일이 실행되는것을 감시하고 싶습니다. [3]
5083거북이11/4/201819320타입의 범위를 넘어서는 연산의 개념을 모르겠습니다. [4]
... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...