심플 다이렉트미디어 레이어

심플 다이렉트미디어 레이어(Simple DirectMedia Layer), SDLC 프로그래밍 언어로 짜여진 크로스플랫폼 멀티미디어 라이브러리이다. 이 라이브러리는 비디오, 오디오, 사용자 입력 등의 계층을 추상화하여, 리눅스, 마이크로소프트 윈도우, 맥 OS X 등 여러 운영 체제에서 실행이 가능하도록 한다. 이 라이브러리는 비디오, 이벤트, 디지털 오디오, CD-ROM, 사운드, 스레드, 공유 객체 불러오기, 네트워킹, 타이머를 관리한다.

심플 다이렉트미디어 레이어
Simple DirectMedia Layer
개발자Sam Lantinga
안정화 버전
2.0.10 / 2019년 7월 25일(4년 전)(2019-07-25)
저장소
프로그래밍 언어C
운영 체제크로스 플랫폼
플랫폼윈도, OS X 10.5 이상, 리눅스 2.6 이상, iOS 3.1.3 이상, 안드로이드 2.3.3 이상, FreeBSD 8.4 이상
종류API
라이선스1.2 GNU LGPL / 2.0 zlib 라이선스
웹사이트www.libsdl.org
심플 다이렉트미디어 레이어
Simple DirectMedia Layer
심플 다이렉트미디어 레이어
SDL 플랫폼의 추상 계층

이 라이브러리는 내부적으로 C로 작성되어 있으며, 대상 플랫폼에 따라 C++오브젝티브-C도 지원하며 C의 API를 제공함으로써 다른 언어와의 결합을 지원한다.

구조

SDL 라이브러리 그 자체는 매우 단순하다. 이 라이브러리에는 몇 가지 하부 시스템으로 나뉘는데, 이를테면 비디오, 오디오, CD-ROM, 조이스틱, 타이머가 있다. 이러한 낮은 수준의 기본적인 지원뿐 아니라 다음과 같은 기능들도 몇 가지 더 지원한다. 이들은 "표준 라이브러리"를 이루고, 공식 웹사이트에서 제공되며 공식 문서에 포함되어 있다:

  • SDL_image — 다수의 이미지 포맷 지원
  • SDL_mixer — 복잡한 오디오 함수 (주로 사운드 믹싱을 위해 존재)
  • SDL_net — 네트워킹 지원
  • SDL_ttf트루타입 글꼴 렌더링 지원
  • SDL_rtf — 단순 서식 있는 텍스트 포맷 렌더링

언어 바인딩

SDL 2.0 라이브러는 C, C++, 파스칼, (sdl.perl.org를 통해), 파이썬(PySDL2.0을 통해), C#, 루아, OCaml, 러스트, Nim, 발라, 지니를 위한 언어 바인딩이 있다.

예제

#include "SDL/SDL.h"  int main(int argc, char *args[]) {     // SDL 비디오 시스템 초기화     if (SDL_Init(SDL_INIT_VIDEO) == -1)     {         return 1;     }      // 화면 구성     SDL_Surface *screen = NULL;     screen = SDL_SetVideoMode(800, 600, 32, SDL_SWSURFACE);      // 화면 구성에 오류가 있으면     if (screen == NULL)     {         return 1;     }      // 창 위치 설정     SDL_WM_SetCaption("간단 SDL 응용 프로그램!", NULL);      // 프로그램의 종료 대기     bool quit = false;      // 프로그램이 아직 종료 상황이 아닌 동안     while (quit == false)     {         // 이벤트가 있는 동안         while (SDL_PollEvent(&event))         {             // 사용자가 창의 X 단추를 눌러서 프로그램을 끝낼 때             if (event.type == SDL_QUIT)             {                 // 프로그램 끝내기                 quit = true;             }         }          // 화면 채우기         SDL_FillRect(screen, &screen->clip_rect, SDL_MapRGB(screen->format, 0xFF, 0xFF, 0xFF));          // 화면 갱신         if (SDL_Flip(screen) == -1)         {             return 1;         }     }      // SDL 끝내기     SDL_Quit();      return 0; // 위 예제는 SDL2.0기반으로 작업시 오류가 발생함 } 

역사

심플 다이렉트미디어 레이어 
SDL 작업을 하는 모습

1998년 초에 처음 출시된 이 라이브러리는 샘 랜틴가(Sam Lantinga)가 로키 소프트웨어용으로 작업하는 동안 만들어냈다. 그는 윈도 응용 프로그램을 매킨토시로 포팅하는 동안 이 개념을 떠올렸다. 그 뒤 SDL을 이용하여 BeOS로 포팅하였다. 일부 다른 자유 라이브러리들이 SDL에 맞추어 개발되었는데, 이를테면 SMPEG와 OpenAL이 있다. 그는 2008년에 갤럭시 게임웍스를 설립하여 SDL의 상업적인 지원을 돕기도 했으나 이 기업 계획은 시간 제한으로 인해 보류된 상태이다.

SDL 1.3은 SDL 1.2 코드 기반의 주요 업데이트로 자리잡았다. 1.2 API의 여러 부분을, 다중 입출력 옵션을 위한 더 일반적인 지원으로 대체하고 있다. 추가되는 기능으로는 이를테면 다중 창 지원, 다중 입력 장치 지원 (다중 마우스, 다중 키보드 등), 하드웨어 가속 2차원 그래픽, 더 나은 유니코드 지원이 있다. 그 뒤 1.3/2.0으로 브랜치가 이동됨에 따라 SDL 1.3 개발이 끝나면 끝으로 SDL 2.0이 될 예정이다. SDL 1.3은 zlib 라이선스이므로 SDL 1.2와 달리 상용 클로즈드 소스 프로젝트에 정적 링크하여 자유롭게 이용할 수 있다.

갤러리

같이 보기

각주

외부 링크

Tags:

심플 다이렉트미디어 레이어 구조심플 다이렉트미디어 레이어 예제심플 다이렉트미디어 레이어 역사심플 다이렉트미디어 레이어 갤러리심플 다이렉트미디어 레이어 같이 보기심플 다이렉트미디어 레이어 각주심플 다이렉트미디어 레이어 외부 링크심플 다이렉트미디어 레이어

🔥 Trending searches on Wiki 한국어:

이팝나무제곱미터MBK 파트너스앙투안 라부아지에노재봉광둥성미녀와 순정남J. 로버트 오펜하이머대한민국 제22대 국회의원 선거 조국혁신당 후보 목록미스터 션샤인이다해박중훈DSM-5국가별 국가 코드 목록천가연필리핀봉건제크리스털 케이두바이사람스카이팀스태그플레이션법의 날 (대한민국)계산기김호정 (1939년)김제동조용헌연합뉴스전두환안현모일제강점기석가모니플레디스 엔터테인먼트태조 (조선)남북정상회담대한민국의 인구순 도시 목록베르누이 방정식파로대한항공대왕판다서울대학교윌리엄 셰익스피어나쁜 녀석들 (드라마)브라질사정 (생리학)이완용AFC 아시안컵장원영노량 해전기독교비삽입성교신태용헬렌 켈러루브르 박물관경주 불국사 다보탑이건완인공임신중절유영철YG플러스로마 숫자체르노빌 원자력 발전소 사고정상위이상한 변호사 우영우장영실대한민국의 아이돌 그룹 목록골 때리는 그녀들예정화안창호이승엽스마타박지원 (아나운서)박보람대한민국의 국기김소연 (가수)기체 상수마리 퀴리고려🡆 More