标题:让Turbo C/C++图形程序独立运行
只看楼主
莱哥
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-5-27
 问题点数:0 回复次数:6 
让Turbo C/C++图形程序独立运行
大家知道,Turbo C/C++语言提供了众多的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数:
  void far initgraph(int far *GD,int far *GM,char *P);
  其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。
  图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:
  void far closegraph(void);
  许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?
  能否建立一个不需要驱动程序和字体文件也能独立运行的图形程序呢?笔者经过实践,得到了肯定的答案,下面是实现图形程序独立运行的具体步骤:
  1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
  C:\TC>BGIOBJ EGAVGA
  按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
  C:\TC>BGIOBJ TRIP
  C:\TC>BGIOBJ LITT
  C:\TC>BGIOBJ SANS
  C:\TC>BGIOBJ GOTH
  2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:
  C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA
  C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP
  C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT
  C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS
  C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH
  也可以使用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 C2.0、Borland C++2.0、Borland C++3.1下均运行通过。
搜索更多相关主题的帖子: Turbo 图形程序 函数 void 
2006-05-27 18:04
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
en,好帖

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-10-28 18:22
孤单的帅哥
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-10-28
得分:0 
好帖好帖
一会去试一下

2006-10-28 20:34
明明是个好孩子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-3-29
得分:0 
我怎么没有成功
提示
  registerbgifont(triplex_font);
  registerbgifont(small_font);
  registerbgifont(sansserif_font);
  registerbgifont(gothic_font);
有错误
2007-03-29 22:28
wuwei168668
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-3-11
得分:0 

暂时看不懂。
初学者。。。


学C语言难得过老外学用中国的筷子吗?
2007-04-04 21:33
hjj1123
Rank: 1
等 级:新手上路
帖 子:198
专家分:0
注 册:2006-7-29
得分:0 
更独立的方法是包NEO的底层代码.放到你的程序里面.不用 那么多烦琐的命令就直接运行.不过拉代码是要注意完整性,不然到处都是错误.也可以看ROCKARRY提供的资料vesa编程.一般显卡都支持它的.

qq:674940174
2007-04-06 16:32
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
得分:0 
不错.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-09 18:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-67781-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046668 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved