GCCfor Win32 开发环境介绍(6)

导读:
   上文回顾 :
  在上一篇文章中,我们了解的一些SDL库的基本知识,以及应用。这一篇文章以及以后的若干篇文章,我们将对SDL的各个函数做更详细的了解。
   GCCfor Win32 开发环境介绍 (6)
   第四章跨平台图象显示库—— SDL
   第二节函数库的详细介绍——基本函数
  在上一节中,我们已经了解了SDL的安装和基本的使用方法。还给出了编译使用SDL程序的源代码。接下来,我将带领各位深入SDL其中,逐一介绍SDL的各个函数。首先我们先从基本函数说起。
  当你需要在你的程序中使用SDL的时候。你首先要做的事情,就是在你的程序中初始化SDL。这个工作,你可以交由SDL_Init函数来做。SDL_Init函数可以初始化任何SDL所支持的子系统,其中包括图象,声音,摇杆,时钟等子系统。当然,在你使用SDL_Init函数初始化以后,你可以使用SDL_InitSubSystem和SDL_QuitSubSystem函数来加载和卸载子系统的。当然啦,你的程序退出前,你必须卸载所有的子系统以释放系统资源。通过调用< /font>SDL_Quit,可以轻松的卸载掉你所加载的子系统并释放这些子系统的系统资源。
   SDL_Init
   函数摘要
  #include“SDL.h”
  intSDL_Init(Uint32 flags);
   函数介绍
  这个函数是用于初始化SDL的,你必须在调用其他的SDL函数之前调用该函数。其中flags的参数和意义如下。当你需要初始化多个子系统的时候,可以用把这些参数或起来。
  
  
   SDL_INIT_TIMER 始化 计时器子系统
   SDL_INIT_AUDIO 始化 音频子系统
   SDL_INIT_VIDEO 始化 视频子系统
   SDL_INIT_CDROM 始化 光驱子系统
   SDL_INIT_JOYSTICK 始化 摇杆子系统
   SDL_INIT_EVERYTHING 初始化以上全部的子系统
   返回值说明
  返回 -1表示错误,返回 0表示初始化成功。
   SDL_InitSubSystem
   函数摘要
  #include“SDL.h”
  intSDL_InitSubSystem(Uint32 flags);
   函数介绍
  在你通过 SDL_Init为SDL初始化以后,你可以通过SDL_InitSubSystem函数来初始化那些没有被初始化的子系统。其中flags的参数定义和 SDL_Init的一样。
   返回值说明
  返回 -1表示错误,返回 0表示初始化成功。
   SDL_QuitSubSytem
   函数摘要
  #include“SDL.h”
  voidSDL_QuitSubSystem(Uint32 flags);
   函数介绍
  SDL_QuitSubSystem函数可以卸载你曾经通过 SDL_Init或者 SDL_InitSubSytem函数加载的子系统,其中参数 flasgs的定义和 SDL_Init中的定义一样。
   SDL_Quit
   函数摘要
  #include“SDL.h”
  voidSDL_Quit(void);
   函数介绍
  SDL_Quit函数可以卸载所有你所加载的子系统,并且释放这些子系统所占用的资源。这个函数一般是在程序退出以前调用的。< /font>
   SDL_WasInit
   函数摘要
  #include“SDL.h”
  Uint32SDL_WasInit(Uint32 flags);
   函数介绍
  SDL_WasInit函数,允许你查看你所加载的子系统有哪些。其中flags的内容为你所要检查的子系统。
   返回值说明
  函数返回一组你所要检查的子系统加载情况的说明。是几个bit字的或。你可以用与操作来逐一检查你所要检查的子系统是否被加载。
  下面给出一组关于以上函数的Demo代码,以及他的Makefile。
   SDL_General_Demo.c C 代码
  
  //NERVE Development Team
  //SDL_General_Demo.c
  #include
  #include
  #include
  #define NOTE(msg) printf("NOTE: %s/n",msg)
  int main(int argc,char *argv[]){
  SDL_Init(SDL_INIT_VIDEO);
  NOTE("load video subSystem");
  SDL_InitSubSystem(SDL_INIT_AUDIO);
  NOTE("load audio subSystem");
  if(SDL_WasInit(SDL_INIT_EVERYTHING)&SDL_INIT_AUDIO){
  NOTE("AUDIO SubSystem was loaded");
  }else{
  NOTE("AUDIO SubSystem is unloaded");
  }
  SDL_QuitSubSystem(SDL_INIT_VIDEO);
  NOTE("unload video subsystem");
  if(SDL_WasInit(SDL_INIT_VIDEO)){
  NOTE("VIDEO SubSystem was loaded");
  }else{
  NOTE("VIDEO SubSystem is unloaded");
  }
  SDL_Quit();
  NOTE("unload any subsystem of SDL");
  return(0);
  
  }
  
   编译 SDL_General_Demo.c Makefile 文件。
  
  #Makefile
  CC=gcc
  SDL_INCLUDE="D:/SDL/include"
  SDL_LIB="D:/SDL/lib"
  all:SDL_General_Demo.o
  $(CC) -L$(SDL_LIB) -o Demo SDL_General_Demo.o -lmingw32 -lSDLmain -lSDL
  SDL_General_Demo.o:SDL_General_Demo.c
  $(CC) -I$(SDL_INCLUDE) -c SDL_General_Demo.c -o SDL_General_Demo.o
  按照以上两个文件的编译,我们可以得到一个名为Demo的可执行程序。当你执行 Demo以后。你将在Demo所在的文件夹内找到一个名为stdout.txt的文件。他是对 标准输入输出的重定向文件,你使用printf打印到终端的内容全部保存在这个文件内。下面是我的 stdout.txt的内容
  
  NOTE: load video subSystem
  NOTE: load audio subSystem
  NOTE: AUDIO SubSystem was loaded
  NOTE: unload video subsystem
  NOTE: VIDEO SubSystem is unloaded
  NOTE: unload any subsystem of SDL
   文外音 :
  感觉现在的文章更新间隔是越来越长了,不过还是感谢各位对我的支持。我相信,我以后的文章更新会慢慢的加快节奏的。也同时感谢各位读者的支持和理解。呵呵,感觉一个学期又结束了,虽然在学期的结尾的时候和某个人发生了些不快。但是,我想我还是大度一点不和他计较了。同时我也觉得,人生中有很多事情是强求不来的,我们的一切都是早已在我们诞生以先就已经定下了,不论是我们在世上的疆界还是我们的财富。在上一阶段的时间里,我曾经充满希望,也曾经绝望过,但是不论何时我都觉得有种无形的力量在我绝望的时候扶助我,让我不至全然的扑到在地。如今,我真正觉得我曾经的绝望是如此可笑无知,因他让我见着希望~。所以,不论我们当前的处境如何绝望,只要抱着信心走在正直的道路上,我相信我们一定能看到曙光的。
  如果你在阅读本文以后有任何的疑问,你可以到http://nirvana.cublog.cn或者 http://blog.csdn.net/visioncat上提出问题。最后感谢各位对我长久以来的支持。
  NERVE软件开发组(NDT)
  NERVEDevelopment Team
  北斗星君(黄庠魁)
  索引:
  GCC,Windows,SDL,函数,基本

本文转自
http://blog.csdn.net/visioncat/archive/2007/07/21/1701467.aspx
基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值