...在有的电脑上可以,有的则不能运行?(编程高手进)
发布网友
发布时间:2024-10-10 01:00
我来回答
共2个回答
热心网友
时间:2024-11-08 08:28
将 bgi 中相关的图形驱动和你的 exe 拷贝在一起即可运行。
热心网友
时间:2024-11-08 08:31
obsolete
adj.
荒废的, 陈旧的
n.
废词, 陈腐的人
****************
Warnings: style of function definition is now obsolete
警告:函数类型的定义是一个"obsolete"
************
Graphics not initialized
图形没有初始化就使用initgraph
你使用了,但是你没有初始化啊
TurboC对于用initgraph()函数直接进行的图形初始化程序,在编译和链接时并没有将相应的驱动程序(*.BGI)装入到执行程序,当程序进行到intitgraph()语句时,再从该函数中第三个形式参数char*path中所规定的路径中去找相应的驱动程序。若没有驱动程序,则在C:\TC中去找,如C:\TC中仍没有或TC不存在,将会出现错误:BGIError:Graphicsnotinitialized(use’initgraph’)因此,为了使用方便,应该建立一个不需要驱动程序就能独立运行的可执行图形程序,TurboC中规定用下述步骤(这里以EGA、VGA显示器为例):1.在C:\TC子目录下输入命令:BGIOBJEGAVGA此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。2.在C:\TC子目录下输入命令:TLIBLIB\GRAPHICS.LIBEGAVGA此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。3.在程序中initgraph()函数调用之前加上一句:registerbgidriver(EGAVGA_driver):该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。假设已作了前两个步骤,若再向例6中加registerbgidriver()函数则变成:例7:#include<stdio.h>#include<graphics.h>intmain(){intgdriver=DETECT,gmode;registerbgidriver(EGAVGA_driver):/*建立独立图形运行程序*/initgraph(gdriver,gmode,"c:\\tc");bar3d(50,50,250,150,20,1);getch();closegraph();return0;}上例编译链接后产生的执行程序可独立运行。如不初始化成EGA或CGA分辨率,而想初始化为CGA分辨率,则只需要将上述步骤中有EGAVGA的地方用CGA代替即可。