【C/C++】 TC Graphics.h 图形编程 32位系统运行错误解决方案

11 篇文章 0 订阅
10 篇文章 0 订阅

转载请注明出处

由于阅历有限,篇幅不周之处还望指出,谢谢


先来段代码


#include <graphics.h>
void main(){
	int gdrv,gmd;
	detectgraph(&gdrv,&gmd);
	printf("driver is %d,mode is %d",gdrv,gmd);
	
	getch();
	initgraph(&gdrv,&gmd,"c:\\tc3\\bgi");
	bar3d(33,11,135,255,22,1);
	
	closegraph();
	getch();

}


TC编译通过,但是运行的时候有问题,

提示:视频设备无法初始化全屏幕模式 。(TITLE=16 位 MS-DOS 子系统)

这下慌了,于是百度之,有MSDN的链接说设置MS-DOS快捷方式的属性。发现没用,只对TC3有用(启动式不再弹出此类窗口)

于是继续遨游在搜索引擎,发现了DOSBox这么个好东西。

下载下来,发现运行成功:

但是有提示Graphics not initialized (use 'initgraph')


于是小小的又慌了一下,咳咳。

原因就在于图形库文件没有加载(实际上是找不到)


有两种解决方法:

一、如果你是直接将EXE拖过去运行的,或者你怕麻烦。

那么编程的时候将EGAVGA驱动程序装入到EXE文件中

1、找到BGIOBJ .EXE所在文件夹,运行命令BGIOBJ EGAVGA //用于将该文件转换成OBJ文件,新文件和旧文件不一样,但是差不多,你懂得

2、继续命令TLIB Graphics.lib+EGAVGA //用于将OBJ目标模块装到该库文件当中

3、在代码图形初始化之前加代码:

registerbgidriver(EGAVGA_driver);
编译,DOSBox中运行!


二、不想将驱动程序装入EXE文件

先将开头的代码编译。然后打开DOSBox

敲命令加载C盘: mount c c:\或者按提示自己加载

然后运行程序


最后附上运行成功截图:


附上DOSBOX 0.74下载地址~:

http://download.csdn.net/detail/xiaoy_h/5062271


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值