메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

cocos2d-x 2.2.2를 윈도우에서 실행시키고 나서 종료하면

기본으로 4바이트의 메모리 누수가 발생한다.

이건 CCScriptEngineManager가 원인인데

CCObject들은 delete를 실행할 때마다

CCScriptEngineManager의 sharedManager를 호출하기 때문이다.


결국 모든 CCObject가 delete 된 후에 CCScriptEngineManager를 purge해 줘야 하는데,

코드로 이걸 할 수 있는 방법이 없다.

main이 종료되는 순간에 모든 오브젝트들의 delete가 계속 실행되기 때문에

코드로 purge 타이밍을 적을 데가 없다.


해결방법은 CCScriptSupport.cpp에 있는

static CCScriptEngineManager* s_pSharedScriptEngineManager = NULL;

이 static 포인터를 없애버리고


CCScriptEngineManager* CCScriptEngineManager::sharedManager(void)

{

static CCScriptEngineManager s_pSharedScriptEngineManager;

return &s_pSharedScriptEngineManager;

}


void CCScriptEngineManager::purgeSharedManager(void)

{

sharedManager()->removeScriptEngine();

}


sharedManager와 purgeSharedManager를 위와 같이 수정해준다.


사실 이건 굳이 잡아줄 필요없는 누수이다.

계속 4바이트가 상주되어 있다가 프로그램이 종료될 때 생기는 누수이기 때문에

전혀 문제될 것이 없다.


하지만 디버그 창에 메모리 누수 덤프되는 거 보기 싫어서 고쳤다.

불필요한 에러 메시지는 깔끔한 코딩을 방해하기 때문.

태그 :
조회 수 :
640
등록일 :
2014.03.10
03:34:47 (*.75.34.131)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=769861
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
185 자동화된 Lua 스크립트의 문서화 - LDoc 노루발 2021-01-11 43226
184 VC++ 2008 Express Edition에서 문D라이브 링크 [2] A.미스릴 2008-04-17 13090
183 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10656
182 문D 질문 #2 [1] A.미스릴 2008-06-01 8797
181 MFC 더블 버퍼링 질문 [2] A.미스릴 2008-06-13 6602
180 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
179 임의의 점이 다각형 내부에 있는지 검사하는 함수 똥똥배 2008-04-14 5358
178 문D라이브로 더블드래곤을 만들자(11) file 똥똥배 2008-05-17 4647
177 문D라이브로 더블드래곤을 만들자(1) [2] file 똥똥배 2008-04-16 4479
176 씨언어 질문 (내일 시험 ㄷㄷ) [1] 쿠로쇼우 2008-06-17 4331
175 문D라이브도 더블버퍼링이 필요한가요? [3] A.미스릴 2008-06-28 4223
174 문D라이브로 더블드래곤을 만들자(10) file 똥똥배 2008-05-17 4065
173 #define에 대해 [1] A.미스릴 2008-05-19 4061
172 클레스들을 담은 헤더들의 혼란 [4] A.미스릴 2008-06-21 3892
171 srand에 관해서 [4] A.미스릴 2008-07-15 3867
170 문D 질문 [5] A.미스릴 2008-05-26 3847
169 흥크립트에 궁금한점 [4] 상상악수 2008-08-21 3835
168 C++ 질문 [1] A.미스릴 2008-12-21 3818
167 TinyXML의 한계 [2] 똥똥배 2011-12-11 3754
166 문D라이브 2008년 5월 19일 버전 [2] 혼돈 2008-06-02 3747