메뉴 건너뛰기

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

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 조회 수
45 [re] 흥크립트 질문 똥똥배 2008-02-01 1782
44 흥크립트 질문 [1] 장펭돌 2008-02-01 1733
43 클릭 문제.... ㄱ- [1] 장펭돌 2008-01-31 1801
42 흥크립트 궁금한점. [5] 장펭돌 2008-01-31 1704
41 {질문}그림에대한 질문일세. [5] 슈퍼타이 2008-01-30 1703
40 흥크립트 질문! [2] 네모상자 2008-01-28 1692
39 '@클릭'이거 어떻게 사용하는거죠? [4] 네모상자 2008-01-26 2244
38 흥크립트 원인불명 버그 [5] 흑곰 2008-01-23 1891
37 흥크립트 버그발견 [7] 네모상자 2008-01-22 1754
36 흥크립트 다루다 보니 알아낸게 있는데... [4] 네모상자 2008-01-18 1765
35 흥크립트 반전 버그 원인발견, 그리고 그 후폭풍 [4] 똥똥배 2008-01-15 1691
34 [re] 똥똥배님께 질문 [1] 똥똥배 2008-01-09 1682
33 똥똥배님께 질문 [6] 흑곰 2008-01-09 1730
32 흥크립트 또 질문 [2] A.미스릴 2008-01-02 1712
31 [re] 혼돈님께 질문 혼돈 2007-12-25 2048
30 혼돈님께 질문 흑곰 2007-12-25 1596
29 흥크립트배경 어떤식으로 넣어야됨? [2] 세균맨 2007-12-10 1751
28 홍크립트에 질문이 있어서 왔스므니다. [3] X-tra 2007-12-07 1699
27 흥크립트 질문 [3] A.미스릴 2007-12-07 1729
26 흥크립트 기초 질문. [2] 장펭돌 2007-12-03 2430