Microsoft MVP성태의 닷넷 이야기
[답변]: [답변]: [답변]: 당연히 도움이 되지요. [링크 복사], [링크+제목 복사],
조회: 12029
글쓴 사람
정성태 (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)
4778김상호11/25/201617554재귀호출->비재귀호출 [2]파일 다운로드1
4777권오영11/12/201620378아래 질문 상세 소스전체입니다.. [3]
4776권오영11/11/201618248제가 이클립스를 공부중인데..이상한것을 찾았습니다.. [2]
4775이성환11/11/201622006안녕하세요. SnapsToDevicePixels 질문입니다. [5]파일 다운로드1
4774popo11/10/201618531.net SSL통신 관련 질문 드립니다. [1]
4773김상호11/4/201620493재귀함수 반복문 변환 [1]파일 다운로드1
4772자연인10/27/201621715hwpctrl을 사용하는 사이트에서 나와 브라우저를 종료하면 오류메세지가 나옵니다. [1]파일 다운로드1
4771문종훈10/18/201621646.net 소스 질문이 있습니다 [2]
4770누구게~...10/15/201618817세도나 [1]
4769spow...10/13/201617348올리시는 게시물에 '좋아요'를 선택할 수 있도록 해주세요 [3]
4768브라운10/11/201619113질문 하나만 드려도 될까요 [4]
4767암호군10/4/201624395c# aes 128 암복호화 관련 문의드립니다. [3]
4766김신철9/29/201619010Visual Studio 2015에서 .net 3.5로 c# 6.0 사용시 문제점에 대해서 궁금합니다. [1]
4765spow...9/23/201618088참조를 통해 속성의 값을 변경하고 싶을 때 우아한 코딩 방법이 있을까요? [2]
4764지현명9/22/201619911Visual Studio 2008 c#에서 추가된 솔류션의 디버깅이 안걸립니다. [2]파일 다운로드1
4763송기태9/20/201618253안녕하세요! 질문이 있어 문의드립니다! [1]파일 다운로드1
4762김신철9/20/201619464Visual Studio 2015 마이그레이션 후 빌드 및 에러 문제.. 도와주세요~ [2]
4761JH9/19/201619929WPF로 Viewbox 사용 시 폰트 크기 일정화 여부 [1]
4760초보9/18/201620987유닉스서버(HP)에서 C# 서버 프로그램 실행 가능 한지요? [1]
4759dev009/16/201622379Queue out of memory [3]
4758임기성9/12/201621127MS오피스 워드 64비트에서 32비트 COM개체 사용방법 문의 [2]
4757조영준9/7/201618898DLL 후킹과 관련해서 질문이 있습니다. [2]
4756Kim ...9/6/201620927drag&drop 관련해서 문의 드립니다. [6]
4755stel...9/4/201619549안녕하세요! 윈도우 창에 관련되서 질문입니다.! [3]
4754초보개발자8/25/201618482UWP 의 적용 범위에 대해서 어떻게 생각하십니까? [1]
4753조호찬8/23/201623953sybase 의 한글 가져오기 문의 [7]
... 31  32  33  34  35  36  37  38  39  40  41  42  43  [44]  45  ...