Pcgame 版 (精华区)
发信人: bell (花开时是冷冷月光), 信区: Pcgame
标 题: Allegro 中译文档(使用 Allegro)
发信站: 紫 丁 香 (Tue May 4 13:43:15 1999), 转信
______ ___ ___
/\ _ \ /\_ \ /\_ \
\ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___
\ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\
\ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \
\ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
\/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
/\____/
\_/__/ 3.0 版 + WIP
一个游戏程序库
By Shawn Hargreaves, 1994/98 (云风 译, 1998)
==================
== 使用 Allegro ==
==================
allegro_init
allegro_exit
allegro_id
allegro_error
os_type
windows_version
windows_sub_version
check_cpu
cpu_vendor
cpu_family
cpu_model
cpu_fpu
cpu_mmx
cpu_cpuid
请先阅读 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.cfido.net/cloud
http://computer.igd.edu.cn/~cloud
http://linux.cqi.com.cn/~cloud
http://www.nease.net/~cloudwu (暂时不能更新)
E-mail: cloudwu@263.net
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: jxjd.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:12.162毫秒