[ 简单直接,也是我写博客的特点,通俗点就好,不要太费脑,这样可以节省不少时间 ]
SDL is Simple DirectMedia Layer.
使用的领域: 游戏开发,模拟器开发,多媒体播放器开发
最大的特点: 跨平台性,即基于它的接口开发的应用f,可以运行在Linux, Windows等多种操作系统平台上.
SDL自身是用C语言写成的,但基于它的开发,可以使用C++等其它的编程语言,所以你不用担心因为不会C或不想用C而不敢使用它来开发你的应用.
当然,如果你是公司的负责人,你一定会担心它的版权问题,如果没搞清楚,可能会引起侵权形为:
SDL 2.0 之前的版本: LGPL授权,放心使用,引用它的动态库的应用,源代码都可以不公开,总之,基于它所开发的应用,不管用不用于商业,你都可以选择不公开源码
SDL 2.0 及之后的版本: ZLib授权,发布二进制代码可以不用公开源代码,但是如果修改了这个版权保护的源码,不能删除源码中的协议许可内容和原著作权
由此可见,SDL是相当的开源和自由
我个人见解,SDL问世的最大意义在于:它封装了不同的操作系统平台上媒体操作的细节,并为应用提供统一规范的接口.
换句话说,假设你想开发一款游戏,在Windows上需要调用DirectX的API实现,而在Linux上必须换成Xlib和OpenGL的API,这样同一款游戏应用,你需要分别开发两种版本的应用.但是如果有了SDL,你仅仅需要调用SDL的API实现,就可以在Windows和Linux上运行,何乐而不为呢...
当然,在商业应用中,有些特效,可能SDL并没有提供API给你直接驱使,这时就必须直接调用OpenGL等更底层的图形库了...