태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

lbjcom's blog

Visual Studio를 사용하다 보면
Invalid Address specified to RtlFreeHeap
와 같은 에러가 발생할 때가 있습니다.
주로 DLL을 이용한 프로그램을 만들때에 이런 에러가 발생하는데요.
이거가지고 삽질을 많이 하다가 해결 방법을 발견했습니다.

간단히 답만 말씀드리면
프로그램에서 사용하는 DLL들과 메인 프로그램 모두의 설정을 다음과 같이 바꿔주어야 합니다.

Setting -> C/C++ --> Code Generation --> MultiThreaded DLL (Debug모드일 경우 MultiThreaded DLL Debug)

그러면 위와 같은 에러가 없어집니다.
해결 방법은 여기에서 발견했습니다^^

주절주절 내용들이 많은데 제가 이해한 바로는
MultiThreaded 로만 할 경우 각각의 DLL과 프로그램이 Heap을 따로 사용하고
MultiThreaded DLL로 하면 모든 DLL과 프로그램들이 Heap을 하나로 사용한다... 인데요.
전자의 경우로 하면 Heap이 다르기 때문에 A라는 DLL에서 메모리를 할당하고 B라는 DLL에서 그 할당한 메모리를 해제할 경우 오류가 발생한다는 내용인 것 같습니다.
혹시 제가 잘못 이해한 것이 있거나, 다른 해결 방법이 있다면 알려 주세요^^
크리에이티브 커먼즈 라이선스
Creative Commons License

'Talk > IT' 카테고리의 다른 글

구글의 서비스들  (0) 2006/10/12
Software Wars  (2) 2006/07/24
Invalid Address specified to RtlFreeHeap  (2) 2006/07/21
파일 및 디렉토리 접근 함수  (0) 2006/06/22
htaccess를 이용한 폴더 접근 권한 설정  (0) 2006/06/22
DMA 설정  (0) 2006/06/22

TRACKBACK :: http://lbjcom.net/trackback/150 관련글 쓰기

  1. 백비  댓글주소  수정/삭제  댓글쓰기

    Code Generation 섹션에서 Struct Member Alignment 값이 달라도 저런 에러를 만나더군요. 전 한 3일 고생하다가.. 오늘에서 님 블로그 힌트보고 알아냈네요... ^^;;;

    parasign.tistory.com (제 블로그) 에 살짝 더 자세한 내용있으니 구경오세요~ ^^

    2009/01/15 20:33

1  ... 186 187 188 189 190 191 192 193 194  ... 317 
BLOG main image
lbjcom's blog
봉진이의 블로그입니다:)
by lbjcom

카테고리

분류 전체보기 (317)
Books (12)
Diary (95)
Games (14)
Humors (12)
Movies (5)
My Precious... (13)
Music (18)
Outing (10)
Pictures (17)
Plays (4)
Restaurant (3)
Tools (9)
남자&여자 (14)
Talk (76)
Works (11)
누님 시트콤 (2)

달력

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Statistics Graph
tistory!get rss Tistory Tistory 가입하기!
POWERED BY PUBLICONS.DE