社区
C语言
帖子详情
请教:出现“BGI Error:graphics not initialized(use 'initgraph')”如何解决?
shaolaiootr
2001-11-06 12:51:11
一个普通的图形函数,运行时出现错误如上,请教如何初始化?
...全文
1669
8
打赏
收藏
请教:出现“BGI Error:graphics not initialized(use 'initgraph')”如何解决?
一个普通的图形函数,运行时出现错误如上,请教如何初始化?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hncy
2001-11-07
打赏
举报
回复
独立图形运行程序的建立
Turbo C对于用initgraph()函数直接进行的图形初始化程序, 在编译和链接
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph()
语句时, 再从该函数中第三个形式参数char *path中所规定的路径中去找相应的
驱动程序。若没有驱动程序, 则在C:\TC中去找, 如C:\TC中仍没有或TC不存在,
将会出现错误:
BGI Error: Graphics not initialized (use 'initgraph')
因此, 为了使用方便, 应该建立一个不需要驱动程序就能独立运行的可执行
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):
1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3. 在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。
经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。
假设已作了前两个步骤,若再向例7中加 registerbgidriver()函数则变成:
例7:
#include<stdio.h>
#include<graphics.h>
int main()
{
int gdriver=DETECT,gmode;
registerbgidriver(EGAVGA_driver): / *建立独立图形运行程序 */
initgraph( gdriver, gmode,"c:\\tc");
bar3d(50,50,250,150,20,1);
getch();
closegraph();
return 0;
}
上例编译链接后产生的执行程序可独立运行。
如不初始化成EGA或CGA分辨率, 而想初始化为CGA分辨率, 则只需要将上述
步骤中有EGAVGA的地方用CGA代替即可。
shaolaiootr
2001-11-07
打赏
举报
回复
感谢各位,非常感谢!
scklotz
2001-11-06
打赏
举报
回复
如果你的图形库未编译进入,你的程序运行时候需要在tc/bc的系统下运行。
也就是说你的程序运行时候需要一个叫做什么*.bgi的文件。
NowCan
2001-11-06
打赏
举报
回复
http://nowcan.yeah.net编程技术里有解决方法。
ripper
2001-11-06
打赏
举报
回复
乖乖,bgi是很久以前的东东了,还有这么多人记得啊;)
thomasnew
2001-11-06
打赏
举报
回复
看看你的bgi路径是否正确
gffly
2001-11-06
打赏
举报
回复
在你的程序里加上:
#include <graphics.h>
main()
{
........
int graphdriver=DETECT;
int graphmode;
initgraph(&graphdriver,&graphmode,"");
.........
}
jiezhuang
2001-11-06
打赏
举报
回复
必須在使用之前Init圖形方式
Simple Sample:
int driver=DETECT,mode,i;
//registerbgidriver(EGAVGA_driver);
initgraph(&driver,&mode,"");
這樣就可以了,記住所有的Draw完成後,要Closegraph()關閉圖形方式;
注:其中的Mark起來的registerbgidriver是為了讓程序脫離驅動程序,不加的話.exe無法在其他路徑下運行圖形方式。此外,想實現這一點,還必須
bgiobj egavga.bgi
得到egavga.obj
再tlib graphics.lib+egavga.lib
BGI
Error
:
Graph
ics
not
init
ialized
(
use
'
init
graph
')真正详解
网络上到处都是
解决
的方法,但是对我我们这一代从未接触过DOS的新青年,或许会很茫然,就像我。按照书上介绍一共就3步即可
解决
问题,但是真正让我搞不明白的就是前2步,经过一系列的瞎折腾终于搞明白了。详细
解决
...
Turbo C 2.0 图形程序
出现
错误:
BGI
Error
:
Graph
ics
not
init
ialized
(
use
'
init
graph
')
许多刚学 Turbo C 2.0(以下简称 tc)的人在做图形程序时都遇到过下面这个错误吧:
BGI
Error
:
Graph
ics
not
init
ialized
(
use
'
init
graph
') 原因只有一个:程序找不到
BGI
图形驱动,初始化出错了。 请看我写的两...
关于用tc图形驱动的问题(
BGI
Error
:
Graph
ics
not
init
ialized
(
use
'
init
graph
') )
问题的发现: 在用tc写贪吃蛇后,发现只能在tc的编译...问题研究: 一开始怀疑是兼容性问题, 毕竟tc太老了也, 所以对.exe进行兼容性设置 (右键->属性->兼容性), 但发现
解决
不了; 后来我把cmd窗口调成全屏而不是窗口运
BGI
Error
:
Graph
ics
not
init
ialized
Turbo C对于用
init
graph
()函数直接进行的图形初始化程序, 在编译和链接时并没有将相应的驱动程序(*.
BGI
)装入到执行程序,当程序进行到intit
graph
()语句时, 再从该函数中第三个形式参数char *path中所规定的路径中去找...
(转)
BGI
Error
:
Graph
ics
not
init
ialized
(
use
'
init
graph
')真正详解
网络上到处都是
解决
的方法,但是对我我们这一代从未接触过DOS的新青年,或许会很茫然,就像我。按照书上介绍一共就3步即可
解决
问题,但是真正让我搞不明白的就是前2步,经过一系列的瞎折腾终于搞明白了。详细
解决
...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章