将tc下的程序移植到vc中.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在DOS时代,Turbo C(简称TC)是流行的C语言编译器,用于编写各种图形和游戏程序。然而,由于C语言标准的发展和现代编译器如Visual C++(VC)的使用,这些旧的TC程序往往不能直接在VC环境中编译。本文主要介绍如何将TC程序移植到VC 6.0或更高版本中,同时使用EasyX图形库来帮助完成兼容性调整。 确保你的TC程序在原环境下能够正确运行。然后,将代码复制并粘贴到VC的源代码文件中,注意文件扩展名应更改为.cpp,而不是TC中的.c。 移植过程中可能会遇到的常见错误及解决方法: 1. **错误提示:fatal error C1083: Cannot open include file: 'bios.h': No such file or directory** 解决办法:删除包含`<bios.h>`的语句,因为VC不支持DOS的BIOS函数。 2. **错误提示:fatal error C1083: Cannot open include file: 'dos.h': No such file or directory** 解决办法:同样,删除包含`<dos.h>`的语句,因为VC不直接支持DOS API。 3. **错误提示:error C2065: 'bioskey' : undeclared identifier** 解决办法:使用`getch()`和`kbhit()`替代`bioskey()`,具体转换方式可参考EasyX官方文档(http://www.easyx.cn/skills/View.aspx?id=77)。 4. **错误提示:error C2065: 'getch' : undeclared identifier** 解决办法:在代码顶部添加`#include <conio.h>`,因为`getch()`函数在`conio.h`中定义。 5. **错误提示:error C2065: 'registerbgidriver' : undeclared identifier** 解决办法:删除`registerbgidriver(xxx);`这一行,因为VC不支持此函数。 6. **错误提示:error C2065: 'sleep' : undeclared identifier** 解决办法:替换为`Sleep()`,并把参数乘以1000,如`Sleep(3000);`,因为`sleep()`在VC中是毫秒单位。 7. **错误提示:error C2065: 'delay' : undeclared identifier** 解决办法:将`delay`替换为`Sleep`,不需要做其他转换。 8. **错误提示:error C2065: 'EGA' : undeclared identifier 或 error C2065: 'EGAHI' : undeclared identifier** 解决办法:删除定义`int gdriver = EGA, gmode = EGAHI;`的代码,改用`initgraph(640, 480);`初始化图形模式,因为VC不直接支持EGA模式。 9. **错误提示:error C2065: 'getmaxx' : undeclared identifier** 解决办法:将`getmaxx()`替换为`getwidth();` 10. **错误提示:error C2065: 'getmaxy' : undeclared identifier** 解决办法:将`getmaxy()`替换为`getheight();` 11. **错误提示:error C2065: 'graphresult' : undeclared identifier** 解决办法:将`graphresult();`替换为`0`,因为VC中没有此函数。 12. **错误提示:error C2065: 'grOk' : undeclared identifier** 解决办法:用`0`替换`grOk`,作为检查错误状态的替代方案。 13. **错误提示:error C2065: 'grapherrormsg' : undeclared identifier** 解决办法:将`grapherrormsg(xxx)`替换为双引号`""`,因为VC不提供此错误处理函数。 14. **错误提示:error C2065: '_AX' : undeclared identifier (可能是_AH、_AL、_BX、_CX等寄存器)** 解决办法:VC不支持DOS时期的寄存器操作,需要将这些DOS特定的代码替换为VC兼容的函数或结构。 15. **错误提示:error C2065: 'geninterrupt' : undeclared identifier** 解决办法:删除或替换`geninterrupt`,因为它属于DOS中断调用,VC不支持。 在进行这些修改时,可能会出现新的错误,但只要按照错误提示逐步解决,大多数问题都可以被克服。关键在于理解和转换DOS环境与Windows环境下的函数和概念。移植过程中需要保持耐心,仔细检查每个错误,并查阅相关资料以找到相应的解决方案。虽然可能需要花费一些时间,但通过这个过程,你会对C语言的标准和现代编译器的使用有更深的理解。























- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 奥运工程建设项目管理全面提升.doc
- XX网络科技有限公司营销中心工作手册.doc
- 2023年数据挖掘实验报告.doc
- java实训心得体会(精选4篇)参考.doc
- 2023年系统集成项目管理工程师考试大纲复习知识点.doc
- 2022通信工程的求职信.docx
- IBM高级策略销售(5页).ppt
- TCL网络设备有限公司[1].ppt
- Excel表格通用模板:报价单模板.xls
- 2023年电大数据结构期末综合练习.doc
- 2022网络工程专业个人简历.docx
- 大数据技术和应用案例讲义.ppt
- Intel的电子商务简单介绍.doc
- java远程通讯技术及简单实现.docx
- AI和大数据在水环境中的应用案例.ppt
- cad打印怎么把彩色变黑白参考.doc


