Software 版 (精华区)
发信人: checcy (老巴夺), 信区: Software
标 题: 让C/C++图形程序独立运行
发信站: 哈工大紫丁香 (Mon Apr 6 11:43:04 1998), 转信
让C/C++图形程序独立运行
大家知道,C/C++语言提供了十分丰富的图形
函数,图形函数文件为 Graphicsh,使用图形函数前须
先将屏幕设置为图形模式, C/C++语言提供了下面的函
数:
void far initgraph(int far *GD,int far *
GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式
, P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Bor
land C++)提供,同时C/C++语言还提供了退出图形状
态的函数closegraph(),格式为:
void far closegraph(void);
也许你经常在用C/C++语言编写一些图形程序
,但是总不能脱离 C/C++语言环境独立运行,我们怎样
来解决呢 ?
能否建立一个不需要驱动程序和字体文件也能独
立运行的图形程序呢 ?笔者经过实践,得到了肯定的答案
,下面是实现图形程序独立运行的具体步骤:
1将驱动程序EGAVGABGI转换成目标文件EGAV
GAOBJ:
D:\BC\BGI>BGIOBJ EGAVGA
按同样的办法,将字体文件*CHR转换成目标
文件* OBJ:
D:\BC\BGI>BGIOBJ TRIP
D:\BC\BGI>BGIOBJ LITT
D:\BC\BGI>BGIOBJ SANS
D:\BC\BGI>BGIOBJ GOTH
2将上述建立的OBJ文件加入到GRAPHICSLIB
库文件中,具体方法如下:
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICSLIB+E
GAVGA
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICSLIB+T
RIP
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICSLIB+L
ITT
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICSLIB+S
ANS
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICSLIB+G
OTH
也可以使用TLIB、PRJ程序代替TLINK。
3在程序中调用initgraph()函数前,应加上如
下语句:
registerbgidriver(EGAVGA-driver);
它通知连接程序把EGAVGA驱动程序装入用户的执
行程序中,同样在装入字体文件之前要加上如下语句:
registerbgifont(字体文件名);
4通过上述处理后,编译连接后的执行程序就
可以在任何目录下运行了。这时,将屏幕初始化为图形模
式的函数可改写为:
void InitGra(void)
{int GD=DETECT,GM;
registerbgidriver(EGAVGA_ driver);
registerbgifont(triplex_ font);
registerbgifont(small_ font);
registerbgifont(sansserif_ font);
registerbgifont(gothic_ font);
initgraph(&GD,&GM,″″);
}
按照以上步骤,就能实现图形程序的独立运行,
笔者在 Turbo C20、Borland C++20、Borland C+
+31下均运行通过。
(贵州 邱自成)
--
*********************************
Chengyan Che - Software Freelancer
Harbin, P.R.China
mailto: checcy@public.hr.hl.cn
ICQ: 5116726
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: checcy@public.hr.hl.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.949毫秒