先简单再介绍一下SDL:

       SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。主要用在开发游戏上!

安装SDL:

Ubuntu已经包含SDL库,所以通过几个简单的命令就可以安装,比windows还傻瓜!

sudo apt-get install libsdl1.2-dev(比较大,10M左右)

附加包:

sudo apt-get install libsdl-image1.2-dev

sudo apt-get install libsdl-mixer1.2-dev

sudo apt-get install libsdl-ttf2.0-dev

sudo apt-get install libsdl-gfx1.2-dev

安装完成之后,在目录/usr/include中,就会有个SDL文件夹,里面包含了所需要的头文件。

写个最简单的程序测试一下环境是否OK:

 

/*9-1.c绋嬪簭锛氬垵濮嬪寲瑙嗛瀛愮郴缁燂紝璁剧疆鍏舵樉绀烘ā寮忥紝鑳屾櫙鑹叉笎鍙?/
#include<SDL.h>                              /*浣跨敤SDL搴擄紝鍔犺浇璇ュ簱鐨勫ご鏂囦欢*/
#include<stdlib.h>
int main(){
  SDL_Surface *screen;                     /*灞忓箷鎸囬拡*/
  Uint32 color;                              /*瀹氫箟涓€涓鑹插€?/
   int x;
  if(SDL_Init(SDL_INIT_VIDEO)<0){          /*鍒濆鍖栬棰戝瓙绯荤粺澶辫触*/
   fprintf(stderr,"鏃犳硶鍒濆鍖朣DL锛?s\n",SDL_GetError());
   exit(1);
  }
  screen=SDL_SetVideoMode(640,480,16,SDL_SWSURFACE);  /*璁剧疆瑙嗛妯″紡*/
  if(screen==NULL){
   fprintf(stderr,"鏃犳硶璁剧疆640x480x16浣嶈壊鐨勮棰戞ā寮忥細%s",SDL_GetError());
   exit(1); 
  }
  atexit(SDL_Quit);                             /*閫€鍑?/
   for(x=0;x<=255;x+=1)                         /*鐢ㄥ惊鐜潵瀹炵幇鑳屾櫙鑹叉笎鍙?/
   {
   color=SDL_MapRGB(screen->format,255,255,x);/*SDL_MapRGB鍑芥暟鐢ㄦ潵璁剧疆棰滆壊*/
    SDL_FillRect(screen,NULL,color);             /*濉厖鏁翠釜灞忓箷*/
   SDL_UpdateRect(screen,0,0,0,0);              /*鏇存柊鏁翠釜灞忓箷*/
    }
    SDL_Delay(6000);                                 /*鍋滅暀6绉掗挓鐨勬椂闂?/
    return 0;
}

编译:

gcc 9-1.c  -o 9-1 -I/usr/include/SDL -lSDL -lpthread

程序运行的时候会出现一个640*480大小,16位色的屏幕

GitHub 加速计划 / sd / SDL
8.9 K
1.68 K
下载
Simple Directmedia Layer
最近提交(Master分支:2 个月前 )
a57c5669 - 2 个月前
20a6193e - 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐