1、编译器的不同
VC6.0更初级,更适合初学C语言的人使用,但是由于VC6.0推出的时间比较久,因此有很多变量和函数定义的方法都跟不上时代了,而且与win7会有一些不兼容;VS2010:相对功能比较完善,兼容性更好,代码风格和代码提示对于编程者来说更完善,编写程序更方便。
2、实现功能的不同
从VS2002中的VC7.0版本开始微软就引进.net的架构,与以前的版本就有很大的不同。当前最新版的VS为VS2015,与VC6.0的差距就很大了。从编程的角度上说,VS2010使用更方便,VC6.0能实现的功能,基本上它都能实现。
3、语法上的不同
VC6.0和VS2010上语法有不同,VS2010更加标准。比如说,在VC6.0上,在for(......)定义的变量,它的生命周期不止在for循环中,而可以直到函数结束。VC6.0还有一些bug,会出现一些莫名其妙的错误,需要打补丁或找一些其它的解决方法。
不过VC6.0也有一些优点,至少操作比较简单,方便,编译起来也快。还有就是资料特别的多,毕竟是非常经典的一个版本。
2018-07-04 · 知道合伙人互联网行家
vs2010和vc6.0都是微软推出的集成开发环境,但是vc6.0推出的时间相对很早,所以里面对各种错误的处理比较差。
比如同一个错误,可能vs2010能够让你根据他的出错信息准确找到错误,vc6.0在一些情况下就很难做到。而且vc6.0对代码的“格式”要求比较严格
比如变量的定义要放在程序开始,不能再循环中初始化定义一个新的变量等等诸如此类问题。
所以有时会导致某些程序可在vs2010中运行但不能再vc6.0中编译通过。
vs2010是比较完备的IDE,扩展性比较强,比如你可以通过安装一些插件,编写python代码等。
vc++6.0是很多年前出的编译器了,用它写的程序即使能够通过编译也有许多不符合现在的c/c++标准的地方。总而言之个人认为它太老了,不合时代。
比如,void main()的写法。这样写能够在vc++6.0中编译通过,但VS2010不行,必须写成int main()。从标准的角度来说void main()是错误的写法,虽然能在vc++6.0里使用。
再比如,在c++程序里,常用的标准模板库,以iostream为例,要包含它,在vc6.0中,写成#include<iostream.h>是可以的,但在vs2010中,必须写成#include<iostream>并加上一句using namespace std;
1、NET Framework 对重定向的支持
使用Visual Studio 2008可以进行基于多个.net framework 版本的开发,Visual Studio 2008同时支持framework 2.0/3.0和3.5几个版本。在不同的版本下它可以自动的框架特性工具箱,项目类型,引用,智能提示……过滤功能。
2、ASP.NET AJAX和JavaScript智能客户端支持
ASP.NET AJAX成为.NET 3.5的一部分,除了包括ASP.NET AJAX 1.0的所有功能外,还集成了WebParts的UpdatePanel,与<asp:menu > and <asp:treeview>这样的控件
(1)、JavaScript提供了智能提示的功能
(2)、js文件支持外部js文件调用
(3)、javascript调试功能
3、全新的Web开发新体验
Web设计器提供了分割视图编辑、嵌套母板页、以及强大的CSS编辑器集成。
ASP.NET还提供了三个新的控件:<asp:ListView>、<asp:DataPager>、<asp:LinqDataSource>,这些控件对数据场景提供了非常好的支持,允许对输出的标识做完全的控制
4、编程语言方面的改进和LINQ
(1)、VS 2008中新的VB和C#编译器对这些语言做了显著的改进。
a、函数式编程
以javascript语法为例:
var sum = function(x,y,z) { return(x+y+z); }(1,2,3);
alert(sum);
b、自动属性
public string Name{ get; set; }
c、对象初始化器,集合初始化器
new Book{Name = "C# in a nutshell",
Author = "Peter Drayton",Price = 30;};
d、隐式本地变量
引入了var关键字,允许开发者在定
义变量时不指定类型
编译器性能改进:
重新生成一个 VisualBasic /C#项目并运行一
个后台编译器的速度提高到了原来的3倍,使
用的内存却只有原来的1/3。
在编辑器里滚动较大的 C# 文件的速度比原来
快了一倍,键入新文本的速度是原来的1.5倍
对C# 中庞大类型的智能感应响应时间提高了
10倍(智能提示)
(2)、集成LINQ(语言级集成查询)使得查询和操作数据成为.NET中的一等编程概念
· string[] Words = {"One","Two", "Hello", "World",
“ Four", "Five"};
·var result = from s in Words
where s.Length == 5;
·select s;
·foreach (var s in result)
{
Console.WriteLine(s);
}
运行结果如下:
Hello
World
print any key to continue .....
5、浏览.NET Framework库源码
Visual Studio 2008有内置的调试器支持,自动按需调试进入代码(VS 2008可以自动为你下载适当的.NET框架库文件)。
这个开源的一个好处就是在debug的时候可以直接进入.NET的类库。
比如,如果debug到这一行:
String myStr = String.Format("{0} {1}", "Hello", "World");
按下F11可以直接进入类库里面String.Format()方法。 这样比单纯的公开源代码好多了。
VC6
是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
缺点有:由于C++是由C语言发展起来的,也支持C语言的编译。6.0版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态和有些功能不可用的情况。同时,6.0版本对windows7和windows8的兼容性较差。
两者的区别
最开始应该是叫 vs6 (当时的安装盘好几张),后来vc6从这里面单独抽了出来广为使用。
vs就是一个合集,vs2008也是如此,包含了很多,vc c# vb J#等
其中vs2008的 vc部分是叫 vc9
从名字看就知道vc9比vc6版本要高- -
vs2008采用的函数库版本比较新,用的sdk3.0--3.5。比vc6做了优化。默认采用的是Unicode字符。界面与2005类似。
关于界面问题,用惯vc6的人一开始不适应2005或2008,但是习惯后,你会发现,2005、2008真的比vc6好用。
兼容上存在一个区别。 vc6编译出来的程序在别人电脑上运行不会出太大问题。但是2005和2008 因为采用了高级版本的函数库,还有mfc中的不少函数在其他电脑上可能不存在,这时候你有2个选择去弥补这个问题。
一是给客户打补丁,(这个可以从微软官方下载,文件很小,合在你软件安装包里也可以)
二是静态链接这些函数库(在建立工程时候设置,或后期在工程属性中可以更改)
-------------
vc.net- - vs2003里建立工程,vc下确实有个.net工程,这个是2003的一个c++托管工程啥的。在2003编译器中有详细的文档介绍。(字太多了)貌似没什么人用吧。我2003用的少,直接用的2005后来转2008。
而且在2005 和2008 的编译器中,没见到这个东西。
要是实现跨平台跨语言,可以用atl工程,写com程序啥的都可以。
------------------------------------------------------------
你最后补充的问题一开始就说了,vc是vs中的一部分,他就是vs的c++编译器,反过来说vs的c++编译器就是vc。
vs6的c++部分就是叫 vc6.0
vs2005的c++部分 就是叫 vc8.0
vs2010是比较完备的IDE,扩展性比较强,比如你可以通过安装一些插件,编写python代码等。