欢迎来到天天文库
浏览记录
ID:9787638
大小:32.00 KB
页数:5页
时间:2018-05-09
《将tc下的程序移植到vc中》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、窗体顶端TurboC(简称tc)是dos时代经典的编译器,学习编程时,有很多图形类和游戏类的程序都是用tc编写的。由于c语言标准的不完善,这些程序大多数都不能直接在vc里面编译。本文就讲解怎样将tc程序移植到vc下。注:本文以 VC6.0为范例(高版本的vc大同小异),同时请安装最新版本的EasyX图形库。移植前请注意:1.确保tc代码可以正确运行。2.将tc代码复制粘贴到vc里面。注意,vc里面代码文件的扩展名要用.cpp,不能用.c。3.以下解决办法不分先后顺序,哪条对应就按照哪条修改。4.如果没找到对应的解决办法,可以暂时跳过,先改后面的。可能修改了第3条错误,第
2、2条错误也就没有了。5.可能解决一个问题后,会出现10个新问题,这不要紧。细心、耐心一些,一个一个问题慢慢处理,并不复杂。以下正文。错误提示:fatalerrorC1083:Cannotopenincludefile:'bios.h':Nosuchfileordirectory解决办法:删掉#include错误提示:fatalerrorC1083:Cannotopenincludefile:'dos.h':Nosuchfileordirectory解决办法:删掉#include错误提示:errorC2065:'bioskey':undecl
3、aredidentifier解决办法:根据bioskey的参数,适当的用getch/kbhit代替。具体请参考:http://www.easyx.cn/skills/View.aspx?id=77错误提示:errorC2065:'getch':undeclaredidentifier解决办法:由于tc2.0对于一些常用函数可以不引用头文件,这是不标准的写法,在之后的编译器都会报错。请增加相关的头文件引用:#include错误提示:errorC2065:'registerbgidriver':undeclaredidentifier解决办法:删除错误行:
4、registerbgidriver(xxx);错误提示:errorC2065:'sleep':undeclaredidentifier解决办法:改用Sleep,并将参数扩大1000倍。例如,原来是sleep(3);,修改为Sleep(3000);错误提示:errorC2065:'delay':undeclaredidentifier解决办法:将delay修改为Sleep即可。错误提示:errorC2065:'EGA':undeclaredidentifier或:errorC2065:'EGAHI':undeclaredidentifier解决办法:通常在含有该错误的代码
5、行会有类似定义: intgdriver=EGA,gmode=EGAHI;将这行代码删掉即可。这两个变量在之后会这样使用:initgraph(&gdriver,&gmode,"");将这行代码修改为initgraph(640,480);问题即可解决。错误提示:errorC2065:'getmaxx':undeclaredidentifier解决办法:将getmaxx()修改为getwidth();错误提示:errorC2065:'getmaxy':undeclaredidentifier解决办法:将getmaxy()修改为getheight();错误提示:errorC2
6、065:'graphresult':undeclaredidentifier解决办法:将graphresult();用数字0替换。错误提示:errorC2065:'grOk':undeclaredidentifier解决办法:将grOk用数字0替换。错误提示:errorC2065:'grapherrormsg':undeclaredidentifier解决办法:将grapherrormsg(xxx)用一对半角空双引号""替换。错误提示:errorC2065:'_AX':undeclaredidentifier (可能是_AH、_AL、_BX、_CX等寄存器)错误提示:e
7、rrorC2065:'geninterrupt':undeclaredidentifier解决办法:前面两个错误提示通常会一起发生,这些代码是调用中断时使用的,比如在TC里面调用鼠标的代码。所以,具体解决办法要根据调用什么中断来解决,需要查中断手册。例如以下的TC代码:voidGetMousePos(){ _AX=0x33; geninterrupt(0x33); MouseX=_CX; MouseY=_DX;}查询中断手册后可以得知,该功能是用来获取鼠标的当前坐标。所以,这个GetMousePos()函数就要相应的修改成
此文档下载收益归作者所有