메뉴 건너뛰기

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

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 조회 수
25 흥크립트로 만든 예제 4 file 대슬 2007-12-02 1723
24 반복문 예제 [4] file 대슬 2007-12-01 1833
23 흥크립트에서 반복문 실행하기 (덤추가) [9] 대슬 2007-12-01 1790
22 흥크립트로 만든 예제 2 [2] file 대슬 2007-12-01 2118
21 흥크립트로 만들 때 알아둘 기본 사항 [6] 대슬 2007-12-01 1693
20 흥크립트로 만든 예제 [1] file 대슬 2007-12-01 2051
19 질문 2가지+1 [2] file Wonder 2007-11-30 1964
18 혼돈형에게 질문! [3] 장펭돌 2007-11-28 1851
17 혼돈형한테 질문 (페인트샾 관련) [2] file 장펭돌 2007-11-19 939
16 흥크립트 Ver0.9 변수 안의 변수 기능 [2] 혼돈 2007-10-16 2208
15 흥크립트 0.9 새 기능 소개 [3] file 혼돈 2007-10-15 2290
14 질문요.C++ [7] 질문자01 2007-05-10 2729
13 스크립트 질문좀 하겠습니다....이벤트에 대한것!! [2] 여유 2007-04-23 1859
12 똥똥배의 게임대회 이야기(4) [1] 혼돈 2007-02-10 2881
11 똥똥배의 게임대회 이야기(3) [1] 혼돈 2007-02-08 3007
10 똥똥배의 게임대회 이야기(2) [2] 혼돈 2007-02-07 2816
9 똥똥배의 게임대회 이야기(1) 혼돈 2007-02-06 2953
8 [질문]알만툴 게임 [1] 허클베리핀 2006-12-28 1974
7 여러분 질문있어요. 성심성의껏좀 알려주세요 흑흑 [6] 케르메스 2006-02-11 2022
6 액션알피지 원거리 무기 질문 [8] 아리포 2006-01-18 1741