vs2005与vc6.0 在编译C++时有什么不同?

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:50:28
6.0是在学校用的,和Vista的兼容性不好,我就用2005了,可好多程序在6.0上可以运行,在2005上就搞不起来了,它们之间有什么不同啊?

不同之处很多,大部分原因是VC6.0的编译器和标准相差很大。为了和标准更加符合标准,微软后来的编译器做了很多改进。这些改进就导致了VC6.0和以后编译器之间的差异(相同的代码在VC6.0可以运行,在VC2005就不可以)举个例子
//VC6.0
for(int i = 0; i < 10; i++)
{

}
//这里i仍然可见
i = 11;
//**************************
//vc2005相同的代码

for(int i = 0; i < 10; i++)
{

}
//这里的i不可见
i = 12; //会有一个编译错误

2005也有兼容性问题。
2008才能很好的兼容。当然,基本的c++在Vista下,2005是没问题的。

差别主要是对标准的支持不同罢了。
楼上说得很好。不过还是不够全面。
这个是需要经验来积累的,急不来。
VC6也可以在Vista下跑,只不过建议你用管理员身份运行好了。