SDL - 初识
SDL 初识

SDL的全称是Simple Directmedia Layer,它是一个跨平台的开发库,通过OpenGL及Direct3D,可以提供针对音频、键盘、鼠标、游戏杆及图形硬件的低级访问,在开发视频播放软件、模拟器及游戏时,都可以使用它。
官方支持以下平台:
WindowsmacOSLinuxiOSAndroid
也可以在源代码中找到对其它平台的支持
SDL是由C语言编写的。
SDL官网: https://www.libsdl.org/index.php,在这里,可以找到源代码下载链接,目前,最新版本是2.0.x,与1.0.x版本有较大的不同,因此,为了区别这两个版本,多用SDL代表1.0.x版本,用SDL2或SDL 2代表2.0.x版本。
目前,多数的开发,是基于
2.0.x版本进行的。
SDL 扩展库
扩展库相关链接:https://libsdl.org/projects/
常用的有:
SDL_imageSDL_mixerSDL_netSDL_ttf

除了其官网提供的以上4个扩展库,另外还有一个名为SDL2_gfx的扩展库,可以在https://sourceforge.net/projects/sdl2gfx/这里下载其源代码。
SDL_image
它是一个图像文件加载库。可通过加载图像,生成SDL surface及SDL texture,支持以下格式:
BMPGIFJPEGLBMPCXPNGPNMSVGTGATIFFWEBPXCFXPMXV
SDL_mixer
它是一个多通道混音库。支持同时播放任意数量的16位立体声通道,也支持由FLAC、MikMod MOD、Timidity MIDI、Ogg Vorbis、SMPEG MP3这些库所混合的单声道音乐。
SDL_net
它是一个小的跨平台网络库,含有聊天客户端及聊天服务器端示例程序。聊天客户端使用了GUIlib库。
与SDL_image、SDL_mixer、SDL_ttf相比,它并没有那么常用,因为有比它更强大、更好用的跨平台网络库,比如libuv、libev、libevent。
SDL_ttf
通过它,就可以在程序中使用TrueType字体。
SDL2_gfx
它包含20多种图元(直线、方框、圆、多边形等等)。