메뉴 건너뛰기

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

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 express.js 세션 적용 후 리다이렉트 시 세션 적용이 제대로 안 되는 문제점 노루발 2024-02-07 4
184 Bootstrap4 container class가 적용된 div의 양 옆에 설정하지 않은 margin이 생김 노루발 2024-02-07 5
183 리캡챠 적용 [1] 노루발 2021-01-08 11
182 certbot을 이용한 HTTPS 인증서 발급 및 적용 노루발 2021-01-12 18
181 love2d에서 안드로이드 터치 제스처 인식하기 노루발 2020-11-12 20
180 Lua-love2d TCP 통신 [1] 노루발 2023-07-14 21
179 illegal character 방지 [3] 노루발 2023-07-17 22
178 Lua 클래스 만들고 활용하기 노루발 2020-11-06 23
177 Lua 테이블 안에 함수 저장하기 노루발 2020-11-06 28
176 루아 스타일 가이드 노루발 2020-11-19 33
175 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 2020-11-06 36
174 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 2020-11-12 37
173 Love2d 이미지 하얗게 그리기 노루발 2020-11-23 42
172 Love2d 게임 안드로이드로 패키징하기 노루발 2021-01-11 48
171 특정좌표를 기준으로 zoom in/zoom out하기 노루발 2020-11-11 58
170 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 2020-01-30 89
169 Oracle cloud에 Nginx/MariaDB 설치하기 노루발 2020-12-06 93
168 Love2d DPI 이슈 해결 [3] 노루발 2019-06-29 97
167 Love2d로 만든 로그라이크 예제 노루발 2020-11-30 252
166 love.update(dt) 에서 버벅이는 현상. 노루발 2013-09-17 256