带你了解SDL

  SDL(英语:Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是类似的代码就能够开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。当前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。SDL(初版)使用GNU宽通用公共许可证为许可方式,意指动态连接(dynamic link)其库并不须要开放自己的源代码。所以诸如《雷神之锤4》等商业游戏也使用SDL来开发。而第二版的SDL则改用Zlib受权来许可。编程

  虽然SDL时常被比较为‘跨平台的DirectX’,然而事实上SDL是定位成以精简的方式来完成基础的功能,它大幅度简化了控制图像、声音、输出入等工做所需撰写的代码。但更高端的绘图功能或是音效功能则需搭配OpenGL和OpenAL等API来达成。另外它自己也没有方便建立图形用户界面的函数。SDL在结构上是将不一样操做系统的库再包装成相同的函数,例如SDL在Windows平台上实际上是DirectX的再包装,旧版本包装的是DirectX 5,SDL 1.2则是DirectX 7。而在使用X11的平台上(包括Linux),SDL则是与Xlib库沟通来输出图像。编程语言

  虽然SDL自己是使用C语言写成,可是它几乎能够被全部的编程语言所使用,例如:C++、Perl、Python(借由pygame库)、Pascal等等,甚至是Euphoria、Pliant这类较不流行的编程语言也均可行。ide

SDL库分为 Video、Audio、CD-ROM、Joystick 和 Timer 等若干子系统,除此以外,还有一些单独的官方扩充函数库。这些库由官方网站提供,并包含在官方文档中,共同组成了SDL的“标准库”:函数

  C语言example:网站

 1 // Headers
 2 #include "SDL.h"
 3 
 4 // Main function
 5 int main(int argc, char* argv[])
 6 {
 7     // Initialize SDL
 8     if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
 9         return(1);
10 
11     // Delay 2 seconds
12     SDL_Delay(2000);
13 
14     // Quit SDL
15     SDL_Quit();
16 
17     // Return
18     return 0;
19 }

 

  参考文档:ui

https://zh.wikipedia.org/wiki/SDLspa

相关文章
相关标签/搜索