如何使C图像程序独立运行?即:放在别人电脑上也能运行。要求具体操作步骤!
已经产生了EXE文件,但是仅能在自己电脑上运行,放在别人电脑上就只会闪出个TC窗口,然后就消失了。是这种情况!!
下面是实现图形程序独立运行的具体步骤:
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
C:\TC>BGIOBJ EGAVGA
(在这里,我的tc目录下面没有*.BGI的文件,到哪里可以找到?
还有进入dos方式后,在tc的目录下面执行命令BGIOBJ EGAVGA,得到以下输出,我该怎么办?
'bgiobj' 不是内部或外部命令,也不是可运行的程序
或批处理文件。)
下面的步骤就没有试了…………大家帮帮忙啊,^_^
按同样的办法,将字体文件*.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下均运行通过。