turbo c 绘图如何将相应的驱动程序装入到可执行文件?

[复制链接]
查看11 | 回复3 | 2010-11-27 18:14:32 | 显示全部楼层 |阅读模式
我的TC装在e:\TC20H目录下,在DOS命令下输入e:\TC20H\TC>BGIOBJ EGAVGA按回车后,TC给启动了,但是却没打开任何文件。我接着在DOS环境下输入E:\TC20H\TC>TLIB LIB\gtaphics.lib + EGAVGA.OBJ,这样TC又给启动了,但是仍然没有什么文件被打开。接着我新建了一个文件,并输入了下面的代码:
#include
#include
void main() {

int driver ,mode;

detectgraph(&driver,&mode);

registerbgidriver(EGAVGA_driver);

initgraph(&driver,&mode,"E:\TC20H");

bar3d(50,50,250,150,20,1);
getch();

closegraph();
}
编译时没有错误,但是连接时出现了这样的提示:

“未定义的符号‘_EGAVGA_driver'在模块:NONAME.C”
我把语句“registerbgidriver(EGAVGA_driver);”之后,程序便可以运行了,单输出却是“
BGI Error : Graphics not initialized(use"initgraph")“这到底是怎么回事啊!为什么总是找不到相应的驱动程序?那位能指点一下啊,我今天借同学计算机弄了四五个小时了,饭都没吃呢!感激不尽啊!20个积分虽然少了点,但帮下忙吧!

回复

使用道具 举报

千问 | 2010-11-27 18:14:32 | 显示全部楼层
打开graphics.h可以看到:enum graphics_drivers {/* define graphics drivers */ DETECT, /* requests autodetection */ CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, /* 1 - 6 */ HERCMONO, ATT400, VGA, PC3270, /* 7 - 10 */ CURRENT_DRIVER = -1};你的第一个gd一般就是取这些值。DETECT是让系统自己配置。gm是模式。它的取值是:enum graphics_modes {/* grap
回复

使用道具 举报

千问 | 2010-11-27 18:14:32 | 显示全部楼层
楼主你好,我认为你的程序应该是没有问题。我刚才用你的程序在win-tc里面实验了下,发现实验正常,出现的是一个3维矩形。所以,我个人观点是,你的c编译器的 库函数 可能有丢失。那么解决的办法有三个1.是重装这个编译器2.下载win-tc3.你加载下这段程序/*图形初始化模块*/
int gdriver = DETEC
回复

使用道具 举报

千问 | 2010-11-27 18:14:32 | 显示全部楼层
你应当没有弄好:1. 在e:\TC20H\子目录下输入命令:BGIOBJ EGAVGA 此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。 2. 在e:\TC20H\子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA(你的graphics.lib输错了) 此命令的意思是将EGAVGA.O
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行