从VC6到VC9移植代码问题总结.docx

从VC6到VC9移植代码问题总结.docx

ID:50537404

大小:49.07 KB

页数:18页

时间:2020-03-10

从VC6到VC9移植代码问题总结.docx_第1页
从VC6到VC9移植代码问题总结.docx_第2页
从VC6到VC9移植代码问题总结.docx_第3页
从VC6到VC9移植代码问题总结.docx_第4页
从VC6到VC9移植代码问题总结.docx_第5页
资源描述:

《从VC6到VC9移植代码问题总结.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、从VC6到VC9移植代码问题总结当年在学校学习C编程的时候用的是TC2.0,后来学C++用TC3.0,有一天突然发现BorlandC++3.1的IDE比较好用,于是改用BC31,然后是BC4,但是到了BC5(还有BC5.02)的时候就玩不下去了,因为我那台只有16M内存的P100实在是跑不动这个庞然大物,在OWL和MFC之间“痛苦地”抉择了一部电影的时间后,我决定放弃添加内存的计划,改用VisualC++试试。因为当时内存太贵了,不过电影很好看,我还记得名字是《西域雄狮》,讲的是黄飞鸿到北美开宝之林分号的故事,还收了一个洋徒。。。你看这思

2、维跳跃的,打住,说正事儿吧。看完电影后装了一个VisualC++4.2,这Microsoft的东西就是争气,在我的破机器上跑得马溜的快,于是就用买内存的预算买了一本《VisualC++4.0从入门到精通》,那个时候的出版社就是效率低,这本书已经是所有关于VC的书中最新的了,好像还看到一本《VisualC++1.5-2.x使用指南》,什么年代的事情了,还摆在书架上。哪像现在的出版社,简直就是“与时俱进”的典范,Microsoft那边《Windows7》刚发布了个预览版,这边《下一代xxx揭密》就已经上架了,唉,又扯远了,打住。没多久VC5就

3、出来了,好在这两个版本的用户界面变化不大(MFC的版本稳定在4.2),我就在《VisualC++4.0从入门到精通》这本书的指导下“精通”了VC5。1998年的时候VisualC++6.0推出了,但是我一直坚持用VC5,1999年我毕业设计还是选择用VC5,不为别的,就是因为当时盗版的VC6都没有帮助文件,就是缺少MSDN,没有这个还怎么写代码?毕业设计完成之后我从朋友那里弄到了传说中的两张MSDN光盘,于是开始用VC6,从此以后,VC6就一直存在于所有我用过的电脑中,后来VC7(7.1),VC8出来以后,VC6的地位也一直没有动摇过,用

4、C++开发软件我首选VC6,我还为VC6开发了一个文件标签栏插件Tabbar,可以通过标签栏在打开的代码文件之间快速切换,除此之外还具有很多其它功能,比如自动打包压缩项目代码。。。唉,又跑题了,打住。做人要与时俱进,这不,今年VC9也随着VisualStudio2008发布了,再不赶上就真的老套了。说是这么说,不过心里还是有些余悸的,2006年的时候我曾经试图将我的一个工具软件的代码升级到VC8,但是我低估了新的编译器的兼容性(当年从VC5到VC6可是没有那么多麻烦),上来就是一大堆编译错误,警告就更是牛毛,当时因为急着为工具软件开发一个

5、新功能,没有时间解决这些问题,只好放下了,这一放就是两年。我这个人喜欢自己做工具软件,目的是为了方便自己,以前用VC6,觉得在代码源文件之间切换很麻烦,但是WndTab太占用资源,于是就借鉴WndTab的部分代码自己做了个标签栏插件Tabbar,还把从CodeProject上看到的好的创意都添加进去,后来用SourceInsight,觉得它没有文件标签栏太土,就给它做了个标签栏外挂(TabSiPlus),就这样几年下来竟然有几百兆的工具代码,这个移植的工作量可是非同小可,想着都怕怕呀!不过也没办法,这两年主要用GCC做嵌入式开发了,没有时

6、间维护这些工具,自己在使用过程中累计下来的BUG和新需求也有一大堆,需要进行升级了,适逢这次机会将其移植到VC9到也是个不错的选择。其实程序员自己给自己写工具很有好处,比如我喜欢边写代码边听音乐,于是我就把自己写的MP3播放器集成到VC开发环境中,这样就可以象操作VC的其它功能一样选择音乐文件,还比如。。。又扯远了,回到正题,讲讲移植过程中遇到的问题。首先可以直接用VisualStudio2008的打开VC6的工作区文件和项目文件(dsw和dsp),并将其升级为VS2008的解决方案格式和项目格式(sln和vcproj),VC9的编译器相

7、对于VC6有了很大的变化,一些编译参数和链接参数被废弃(比如/map:line),有一些改变了名称,还有新增的选项,不过不用担心,升级过程会自动对其进行转换,最终都会得到一个正确的解决方案和VC项目文件,这个过程不会遇到太多的麻烦,问题都出在随后的编译过程中,下面就将我在移植的过程中遇到的问题和我的解决方法总结一下,希望对还在用VC6维护代码的朋友有所帮助。一、_WIN32_WINNT与_WIN32_IE设置冲突_WIN32_WINNT与_WIN32_IE设置不兼容会导致如下C1189致命错误:StdAfx.cppc:/programfi

8、les/microsoftsdks/windows/v6.0a/include/sdkddkver.h(217):fatalerrorC1189:#error:_WIN32_WINNTsett

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。