SDL_SetVideoMode 함수 사용에 관한 질문입니다.[완료]
현재 SDL을 이용한 간단한 이미지 동작에 관한 공부를 하고 있습니다.
그런데 Surface를 create하는 중에 문제가 발생했습니다. 그 어떤 에러코드도
없고 단지 SDL_SetVideoMode 다음의 line으로 넘어가지 않습니다.
제가 어떤 코드상의 실수를 했을까요? 다음은 SDL_SetVideoMode를 이용하는
함수의 일부코드입니다.
struct screenctl* create_screen(char* devfb)
{
int ret=0;
const int scr_w=704;
const int scr_h=480;
struct screenctl *sc = NULL;
SDL_Surface *screen;
if(!devfb){
return sc;
}
ret = access(devfb,F_OK);
if(ret != 0){
fprintf(stderr, "not find devfb\n");
return sc;
}
sc = (struct screenctl*)malloc(sizeof(struct screenctl));
sc->fbfd = open(devfb, O_RDWR, 0);
sc->w = scr_w; //704
sc->h = scr_h; //480
/* create surface 704 * 480
*/
ret = SDL_Init(SDL_INIT_VIDEO);
//여기서 문제...
fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
screen = SDL_SetVideoMode(scr_w, scr_h, 16, SDL_SWSURFACE);
fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
//다음코드로 넘어가지가 않습니다.
sc->screen = SDL_DisplayFormat(screen);
SDL_FreeSurface(screen);
return sc;
}
=====================================
해당 SDL을 테스트 하는 도중에 정상적으로 종료하지 못한 경우에
SDL프로세스가 잔재할 경우에 이런 문제가 발생했습니다.
=====================================
댓글 달기