[이전] 목차 [다음]

어떤 플랫폼에서 실행되는가?

리눅스
  • 비디오 디스플레이를 위해서는 X11 을 사용한다. XFree86 DGA 익스텐션을 사용하며 풀스크린 디스플레이를 위해서는 새로운 MTRR 가속을 사용한다.
  • 사운드를 위해서는 OSS API 를 사용한다.
  • 쓰레드는 clone() 시스템 콜과 SysV IPC 또는 glibc-2.1 pthread 를 사용해 구현된다.
팁:
SDL_GetWMInfo() 함수를 통해 SDL 드라이버 인터페이스의 감춰진 기능을 사용 할 수있다. 이것은 윈도우 장식을 없애고 프로그램적으로 윈도우를 아이콘화하는 등의 작업을 할 수있도록 한다.
Win32
  • 두가지 버전이 있는데, 하나는 Win32 API 에 기반해서 모든 시스템에 안정적으로 사용할 수 있는 것이고 또 하나는 DirectX API 에 기반한 빠른 성능을 낼 수 있는 것이다.
  • 안정 버젼은 비디오 디스플레이를 위해 GDI 를 사용한다. 고성능버젼은 비디오 디스플레이를 위해 DirectDraw 를 사용하며, 가능하다면 하드웨어 가속의 도움을 받는다.
  • 안정 버젼은 사운드를 위해 waveOut API 를 사용하고, 고성능버젼은 오디오 재생을 위해 DirectSound 를 사용한다.
팁:
윈도우즈 메세지 큐에서 메세지를 빼내고 애플리케이션이 반응하도록 하려면 메인 쓰레드로부터 주기적으로 SDL 이벤트 함수들을 호출해야 한다.
BeOS
  • 비디오 디스플레이를 위해서는 BDirectWindow가 사용된다.
  • 사운드를 위해서는 BSoundPlayer가 사용된다.
팁:
리눅스와 BeOS 는 SDL_Init()에 SDL_INIT_EVENTTHREAD 플래그를 사용해서 이벤트 루프가 다른 쓰레드안에서 비동기적으로 실행될 수 있도록 할 수 있다. 이것은 애플리케이션이 바쁠때에도 컬러 커서가 반응할 수 있도록 하는 데 유용하다.
MacOS, MacOS X
  • 비디오 디스플레이를 위해서는 Carbon 과 DrawSprockets 이 사용된다.
  • 사운드를 위해서는 SoundManager API 가 사용된다.
  • MacOS X 에서는 자체 비선점형 쓰레드가 지원된다.
비공식적 포팅들, 진행중인 포팅들
  • Solaris, IRIX, FreeBSD, QNX, OSF/True64

[이전] 목차 [다음]