搜索

VC6和VS2010这么不同!?

发布网友 发布时间:2024-10-18 15:06

我来回答

6个回答

热心网友 时间:2024-10-18 15:22

MessageBox 换成 AfxMessageBox 试试吧。

这些问题从 vs2005 (或者是 vs2003 ,具体那个版本忘了)就已经存在了。
VC6 中默认不是 Unicode 模式,这样 TCHAR 就会被定义为 char ;而在某个干本之后,默认是 Unicode 模式, TCHAR 会被定义为 WCHAR 。把代码中的字符串都加个 _T() 吧(例如 "a" 写成 _T("a") ),区分出 TCHAR 。

vs2010 我用过了,还是很赞的,从 vs2008 开始对模板的支持加强了很多。
VC6 是个经典的版本不错,但只是有历史意义, VC6 早就跟现在的 C++ 语言脱节了,很多 C++ 的概念都不是支持的很好。
建议还是换最新的吧,VC6 里面会给初学者造成一些概念的混淆,那些概念在当时还不是清晰。

热心网友 时间:2024-10-18 15:22

既然是新人,那最好先明白VC6.0,2005,2008,2010之间的区别比较好。
现在说下个人感觉:
1.VC6.0是一个比较经典的版本,不过就像WIN98,一样被历史淘汰了,要说明的是它的对C标准支持的不是很好。
2.VC2005,也是个阶段性的版本,比以前的要成熟很多,改动与6.0比是有很多,但也有很好的向下兼容性,建议楼主用2005以上版本。
3.2008,2010主要在网络编程方面做了补充,其实要是不用他们新添加的性能,主要从事C,C++编程,他们差不多。当然他们的体积都也很。。。不错
这是个人的感受,欢迎大家过来拍砖

热心网友 时间:2024-10-18 15:23

你可以继续用VC6,或者VS2008也可以。
VC6是VC++编译器,VS是一系列的编译环境包括VC++。还包括C#,VB,.net等等。
是有一些改变。可以查看每个版本的MSDN来研究。 MessageBox 换成 AfxMessageBox 试试吧。

这些问题从 vs2005 (或者是 vs2003 ,具体那个版本忘了)就已经存在了。
VC6 中默认不是 Unicode 模式,这样 TCHAR 就会被定义为 char ;而在某个干本之后,默认是 Unicode 模式, TCHAR 会被定义为 WCHAR 。把代码中的字符串都加个 _T() 吧(例如 "a" 写成 _T("a") ),区分出 TCHAR 。

vs2010 我用过了,还是很赞的,从 vs2008 开始对模板的支持加强了很多。
VC6 是个经典的版本不错,但只是有历史意义, VC6 早就跟现在的 C++ 语言脱节了,很多 C++ 的概念都不是支持的很好。
建议还是换最新的吧,VC6 里面会给初学者造成一些概念的混淆,那些概念在当时还不是清晰。

热心网友 时间:2024-10-18 15:23

MessageBox(_T("")); 要这样写 因为默认是Unicode环境的 Vs2010

热心网友 时间:2024-10-18 15:24

哈哈哈,和我刚接触VC++2005的时候感觉一样
其实在user32.dll里导出有两个函数MessageBoxA和MessageBoxW,MessageBox只是一个编译宏
在Unicode下会调用MessageBoxW在ascii下会调用MessageBoxA
VC6默认的是ascii而vc++2005,vc++2010都是用Unicode,
解决方案1:在项目属性里选去使用unicode
2:使用MessageBoxA
3在字符前加上_T()或t
unicode是大势所趋要适应
有人说VC6要被淘汰本人可不同意360也是用vc6编译的哦

热心网友 时间:2024-10-18 15:25

vs2010对标准C++的支持要比vc++6.0要好,对C++新标准C++0x全面支持。行业上都用2005以上的了,只有在学校里还在用6.0
建议用2010,虽然刚出来,但不久就会被行业使用。
楼主想要从事软件行业的话就不要抱怨新工具的诞生就要伴随着学习新的知识,这是正常的。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top