Programming 版 (精华区)

发信人: lansh (沧海一粟), 信区: Programming
标  题: Allegro 游戏程序库 (使用篇)
发信站: 哈工大紫丁香 (2002年09月11日19:49:40 星期三), 站内信件

发信人: cloudwu (云风), 信区: GAME_Designer
标  题: Allegro 游戏程序库 (使用篇)
发信站: BBS 水木清华站 (Thu Apr 30 09:39:52 1998)

     ______   ___    ___
    /\  _  \ /\_ \  /\_ \
    \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___
     \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
      \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
       \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
        \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
                                       /\____/
                                       \_/__/        3.0 版
                    一个游戏程序库
               By Shawn Hargreaves, 1994/97
#include <std_disclaimer.h>
   "我不会接受使用这些代码所产生的任何不利效果的责任,
    你想怎么用这些代码都可以,
    这是你自己的冒险"
=======================================
============ 使用  Allegro ============
=======================================
请先阅读 readme.txt 里的一般介绍,版权条款,和
有关如何编译 Allegro 的信息.
所有的 Allegro 函数, 变量, 数据结构都定义在 allegro.h 里.
你必须在你的程序里包含(include)这个文件, 并且连接(link) liballeg.a
为了做到这些,你必须:
   - 将下面这行写到所有使用了 Allegro 的 C 或 C++ 文件的开始:

         #include <allegro.h>
   - 如果你在命令行下或利用 makefile 编译程序, 将 '-lalleg' 加到
     gcc 命令行的末尾,比如:
         gcc foo.c -o foo.exe -lalleg
   - 如果你在使用 Rhide, 选择 Options/Libraries 菜单,在
     空位敲入 'alleg',然后将前面的选择窗选上.
   - 如果你不想使用某部分 Allegro 函数,你可以
     在包含 allegro.h 前定义下面的任何预处理标志来稍微的减少你的一点编译时间:

         alleg_mouse_unused
         alleg_timer_unused
         alleg_keyboard_unused
         alleg_joystick_unused
         alleg_gfx_driver_unused
         alleg_palette_unused
         alleg_graphics_unused
         alleg_vidmem_unused
         alleg_flic_unused
         alleg_sound_unused
         alleg_file_unused
         alleg_datafile_unused
         alleg_math_unused
         alleg_gui_unused
int allegro_init();
   初始化 Allegro 库. 它除了
   设置一个全局变量,锁住一些内存, 将 allegro_exit() 加载到 atexit() 例程
   上以外没有做更多的事,但是你必须在做其它事之前调用它.
   成功者返回 0 (它不可能调用失败,所以
   没有更多的返回值).
void allegro_exit();
   关闭 Allegro 系统. 这包括将系统返回到文本模式,
    对刈 载过的鼠标,键盘,时钟例程.
   一般你不必去明显的去调用它,
   因为 allegro_init() 将它作为 atexit() 例程加载了,
   所以它将在你的程序退出时自动被调用.
extern char allegro_id[];
   一个包含有库的日期和版本信息的字符串,
   也许你在某些地方回用到这些.
extern char allegro_error[];
   一个被 set_gfx_mode() 和 install_sound() 用来报告错误信息的字符串.
   如果这些函数调用失败而你想告诉用户是为什么,在这里
   能找到有关问题的描述.
extern int os_type;
   由 allegro_init() 设置成以下值中的一个:
      OSTYPE_UNKNOWN    - 未知, 或常规的 MSDOS
      OSTYPE_WIN3       - Windows 3.1 或更早的版本
      OSTYPE_WIN95      - Windows 95
      OSTYPE_WINNT      - Windows NT
      OSTYPE_OS2        - OS/2
      OSTYPE_WARP       - OS/2 Warp 3
      OSTYPE_DOSEMU     - Linux DOSEMU
      OSTYPE_OPENDOS    - Caldera OpenDOS
extern int windows_version, windows_sub_version;
   由 allegro_init() 设置, 使用 int 0x2F, ax=0x1600 来检测
   当前的 Microsoft Windows. 在 windows 3.1 下, windows_version
   将被设为 3, 在 win95 下则是 4, 在 NT 在将是 0x100,
   如果没有运行在 windows 下则为 0. 在 Linux DOSEMU 下, 两个变量
   都将被设为 -1.
void check_cpu();
   检测 CPU 型号, 设置以下的全局变量:
extern char cpu_vendor[];
   如果可能,由 check_cpu() 设置成 CPU 厂商的名字.
extern int cpu_family;
   由 check_cpu() 设置成 CPU 型号: 3=386, 4=486, 5=Pentium, 6=PPro, 等等.
extern int cpu_model;
   由 check_cpu() 设置成 CPU 子类型. 如果是 386 (cpu_family=3),
   0 表示 DX 芯片, 2 表示 SX, 4 表示 SL, 15 表示未知. 如果是 486
   (cpu_family=4), 0 或 1 表示 DX 芯片, 2 表示 SX, 3 表示 487 (SX) 或
   486 DX, 4 表示 SL, 5 表示 SX2, 7 表示 DX2 write-back enhanced, 8 表示 DX4
   或 DX4 overdrive, 14 表示 Cyrix, 15 表示未知. 如果是奔腾芯片
   (cpu_family==5), 1 表示 Pentium (510\66,567\66), 2 表示 Pentium P54C,
   3 表示 Pentium overdrive processor, 5 表示 Pentium overdrive for
   InterDX4, 14 表示 Cyrix, 15 表示未知.
extern int cpu_fpu;
   由 check_cpu() 设置成 TRUE 或 FALSE, 这个值依赖于有无一个浮点运算器
   能够被利用.
extern int cpu_mmx;
   由 check_cpu() 设置成 TRUE 或 FALSE, 这个值依赖于是否有 MMX
   指令可以被利用.
extern int cpu_cpuid;
   由 check_cpu() 设置成 TRUE 或 FALSE, 这个值取决于 "cpuid" 指令
   是否能被利用. (如果它被设置, 其它的 CPU 变量
   100% 可信, 否则某些地方可能出了问题).

--
http://www.nease.net/~cloudwu
http://computer.igd.edu.cn/~cloud
E-mail: cloudwu@163.net


--
人生得意需尽欢,莫使金樽空对月。
天生我才必有用,千金散尽还复来。

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: hitsat.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.353毫秒