找回密码
 赶紧注册吧

QQ登录

只需一步,快速开始

查看: 3696|回复: 0
打印 上一主题 下一主题

GCCfor Win32 开发环境先容(6) [复制链接]

注意:1、各网友务必提高交友安全意识,不要轻易参加非天府交友网官方举办的见面交友活动,以防酒托,饭托或引发其他危险;请详细阅读《天府交友网服务条款》和《免责申明》!

Rank: 4

升级  79.8%

跳转到指定楼层
楼主
发表于 2011-10-24 02:08:47 |只看该作者 |倒序浏览
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
初始化以上全体的子系统
< /tbody>
  返回值说明
     返回 -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代码
& nbsp;                   //NERVE Development Team
//SDL_General_Demo.c
#include <stdio.h>
#include <stdlib.h>
#include <SDL.h>
#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文件。
& nbsp;                   #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
文外音:
感觉当初的文章更新距离是越来越长了,不外还是感谢各位对我的支撑。我信任,我以后的文章更新会缓缓的加快节奏的。也同时感激各位读者的支持和懂得。呵呵,感到一个学期又停止了,固然在学期的结尾的时候和某个人产生了些不快。但是,我想我仍是大度一点不和他计较了。同时我也感到,人生中有良多事件是强求不来的,我们的所有都是早已在我们出生以先就已经定下了,不论是我们在世上的疆界还是我们的财产。在上一阶段的时光里,我曾经充斥愿望,也曾经绝望过,然而不管何时我都认为有种无形的力气在我绝望的时候扶助我,让我不至全然的扑到在地。现在,我真正觉得我曾经的绝望是如斯好笑无知,因他让我见着盼望~。所以,不论我们当前的处境如何失望,只有抱着信念走在正派的途径上,我相信我们必定能看到曙光的。
假如你在浏览本文当前有任何的疑难,你能够到
NERVE软件开发组(NDT)
NERVEDevelopment Team
北斗星君(黄庠魁)
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0

使用道具 举报

※为保护您的个人隐私,防止被恶意盗用,在论坛中不得留下手机、QQ、邮箱等联系方式,否则将被屏蔽!,若有需要,请发送站内消息
您需要登录后才可以回帖 登录 | 赶紧注册吧

关于我们|网站地图|帮助中心|商务合作|法律声明|诚聘英才|联系我们| 时尚 娱乐 成都婚庆公司 网站制作天府星空
Copyright © 2010-2011 天府交友(Www.Tflove.Com)版权所有