kyuseo의 게임 프로그래밍
vsprintf : 삼성 바다 웨이브 (BADA WAVE) 스마트폰 개발중 발생되는 문제점 #1 본문
개요.. |
제가 개발한 안드로이드, 아이폰 게임 개발용 CK멀티플렛폼 게임 엔진을 삼성 바다 웨이브 (BADA WAVE) 에 포팅(컨버팅)하면서 발생되는 문제점을 정리해봅니다.
다음 오류 예고
#include <pthread.h> 컴파일 오류
CK게임엔진으로 개발한 SK 티스토어와 애플 앱스토어에서 서비스중인 게임들 |
- 클럽맞고 온라인, Bingo Star Live 90 외 다수
vsprintf 문제 |
관련 소스코드
inline void _TRACE( LPCSTR szFormat, ... ) { char szData[ 4096 ];
va_list args; va_start( args, szFormat ); vsprintf( szData, szFormat, args ); va_end( args );
fprintf( stderr, szData, 0 ); } |
발생오류 스크린샷
증상 : vsprintf 함수가 존재하지 않는다.
원인 : 아래와 같이 안전하지 않아 사용할 수 없게 만든 듯 합니다.
// Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise // fall back to the unsafe vsprintf which, in general, can be dangerous // and should be avoided. |
해결방안 :
오류 위치에 아래 코드를 추가한다.
#ifdef OS_BADA #define TRIO_REPLACE_STDIO #include "libxml/trio.h" #endif |