大家谁知道VC6.0与.NET 之间存在多大的差异,都有什么差异呢

如题所述

第1个回答  2022-10-07
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

大家谁知道VC6.0与.NET 之间存在多大的差异,都有什么差异呢

谁能给我一份详细资料

包括各个函数 类之间的差异 和优缺点

谢谢呀

解析:

(1) 首先看看目录文件架构的不同:(vc的默认安装目录为:…\ Microsoft Visual Studio .NET;而vc6.0默认安装目录为:…\Microsoft Visual Studio)

vc目录下的文件目录数比vc6.0的要多出一些,但主要的目录也大体上相同。只是原来的mon变为了mon7,vc98变为了vc7;我们主要看一下

vc7和vc98下的文件有什么不同;vc的前几个文件目录(包括:bin,include,lib,crt,atlmfc)与vc6.0基本相同,不同的是vc将atl和mfc合并为一个目录atlmfc,原来的mfc源代码可以在atlmfc\src\mfc中找到。

而vc7中的其他新增的文件目录则估计是微软细分功能的产物。我们暂不去考虑。

(2)配置应用程序使用环境:由于vs集成了vc ,vb,vc#等多种开发工具而且提供了多种配置方案,对于vc开发人员,推荐使用“vc 开发人员”配置。

(3)MFC应用程序向导差异:当分别在vc 和vc6.0用MFC应用程序向导创建新工程Test时,你就会发现MFC应用程序向导在两个版本中稍有不同。首先在

向导的样式上,vc使用的是嵌入浏览器模式而vc6.0使用的是对话框模式,而且vc在应用程序类型选项中提供了“多顶级文档”的方案和更加明显的

“用户界面功能”选项。

(4) 应用程序向导产生的各种文件的差异:下面列出两个版本中的功能对应的文件

vc

vc6.0

xx.sln(visual studio solution )

xx.dsw(developer studio workspace)

xx.vcpj(visual studio project)

xx.dsp(developer studio project)

其他文件基本相同,但vc中已经不存在xx.clw(class wizard)文件了,但多了一个xx.aps文件和一个xx.manifest文件(在res文件夹中)。

(5)stdafx.h文件的不同:在vc生成的文件中stdafx.h文件变化最大,众所周知stdafx.h以及stdafx.cpp是为了产生预编译块xx.pch,下面是Test项目中stdafx.h文件的源代码:

stdafx.h : 标准系统包含文件的包含文件,

或是经常使用但不常更改的

项目特定的包含文件

#pragma once

#ifndef VC_EXTRALEAN

#define VC_EXTRALEAN 从 Windows 标头中排除不常使用的资料

#endif

如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。

有关不同平台的相应值的最新信息,请参考 MSDN。

#ifndef WINVER 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。

#define WINVER 0x0400 为 Windows98 和 Windows 2000 及更新版本改变为适当的值。

#endif

#ifndef _WIN32_WINNT 允许使用 Windows NT 4 或更高版本的特定功能。

#define _WIN32_WINNT 0x0400 为 Windows98 和 Windows 2000 及更新版本改变为适当的值。

#endif

#ifndef _WIN32_WINDOWS 允许使用 Windows 98 或更高版本的特定功能。

#define _WIN32_WINDOWS 0x0410 为 Windows Me 及更新版本改变为适当的值。

#endif

#ifndef _WIN32_IE 允许使用 IE 4.0 或更高版本的特定功能。

#define _WIN32_IE 0x0400 为 IE 5.0 及更新版本改变为适当的值。

#endif

#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS 某些 CString 构造函数将是显式的

关闭 MFC 对某些常见但经常被安全忽略的警告消息的隐藏

#define _AFX_ALL_WARNINGS

#include <afxwin.h> MFC 核心和标准组件

#include <afxext.h> MFC 扩展

#include <afxole.h> MFC OLE 类

#include <afxodlgs.h> MFC OLE 对话框类

#include <afxdisp.h> MFC 自动化类

#include <afxdtctl.h> Inter Explorer 4 公共控件的 MFC 支持

#ifndef _AFX_NO_AFXCMN_SUPPORT

#include <afxcmn.h> Windows 公共控件的 MFC 支持

#endif _AFX_NO_AFXCMN_SUPPORT

#include <afxrich.h> MFC Rich Edit 类

更不同的是vc每个头文件中的类似如下的东东:

#if !defined(AFX_STDAFX_H__***********_DA85_4F3B_81F6_E4E0A168D780__INCLUDED_)

#define AFX_STDAFX_H__***********_DA85_4F3B_81F6_E4E0A168D780__INCLUDED_

不见了,真想不懂微软为什么不用file guarder,那它是如何防止同一个头文件被重复包含的,嗨?

(5)classwizard的有无:当你第一次使用vc时,你会惊讶的发现classwizard不见了,你会大喊“微软你太过分了。”但是如果你继续发掘的话你会发现其实

classwizard不见了又如何,微软提供的替代它的功能甚至超过了它,这些功能很分散,这里不便详述,还是你自己去发掘吧!

(6)项目方案配置. 项目工程的配置和项目目录设置:

vc中的项目方案配置和项目工程的配置都可以在“解决方案资源管理器”(solution explorer)中完成:(以Test为例)

项目方案配置方法:单击“解决方案资源管理器”中的“解决方案Test”,然后

在右键菜单中选择“属性”即可配置。

项目工程的配置方法:单击“解决方案资源管理器”中的“Test”,然后

在右键菜单中选择“属性”即可配置。

项目目录设置方法:选择 “工具”菜单------“选项”,弹出“选项”对话框

在“项目”中即可配置。

大家谁知道VC6.0与.NET 之间存在多大的差异,都有什么差异呢_百度...
(1) 首先看看目录文件架构的不同:(vc的默认安装目录为:…\\ Microsoft Visual Studio .NET;而vc6.0默认安装目录为:…\\Microsoft Visual Studio)vc目录下的文件目录数比vc6.0的要多出一些,但主要的目录也大体上相同。只是原来的mon变为了mon7,vc98变为了vc7;我们主要看一下 vc7和vc98下的...

vc.net能否完全代替vc6.0?
1.vc.net不能完全代替vc6.0, 区别在于vc.net是托管程序,需要客户机上安装.net环境的。而vc6.0的程序是本机程序,可以直接运行。VC6的程序在部署上有优势。2.现在的大多数windows操作系统上都安装了.net了。3.vc.net的开发工具vs也可以创建非托管的VC++项目,这也就和VC6.0的程序是一样的了。

.NET出来这么久了,为什么VC的教程还都是VC6.0的呀?
vc6的教程这么多,一个原因在于计算机二级现在还是用的vc6.另一方面,.net虽然很好,但目前还是不是想MFC那么普及,所以现在还是vc6为主导,而且对于正规企业,编译器一般都是正版,那是很贵的东西了,所以一般他们都不舍得花钱换。但到了XP淘汰之后,vc6的命运也就该定了,他对vistar等新系统的兼容不...

现在还有多少人使用vc6.0呢
我说说原因:因为VC6是微软大力推广的一个开发平台(.net之前).所以当时普及率是相当高的。但是随着新的C++标准的实施和新版本的VC的推出,VC6的劣势大量的暴露了出来。诸如:界面设计、执行标准度等。但是由于公司是一个盈利的组织,它们会为自己的利益着想,因为要提升一个平台并不是一个简单的事情,...

vb6.0和vb.net有什么区别?
VB6.0是基于对象的,VB.NET是面向对象的,它们之间的语法上差距还是比较大的.VB.NET生成的是托管代码,必须运行于.NET框架之上.VB6则依赖于VB6运行时的支持.在WINDOWS的下一版本WINDOWS 7中仍然会提供VB6的支持,不过再到以后的版本就没了.如果你是第一次学,个人觉得还是直接转向VB.NET学习好了....

vc6.0与vc++6.0的区别
从实现功能的角度来看,从VS2002版本的VC7.0开始,微软引入了.net架构,这标志着与之前的版本有着显著的不同。目前最新的VS版本为VS2015,与VC6.0相比,两者之间的差距相当大。尽管VC6.0能够实现很多功能,但VS2010在使用上更为方便。在语法方面,VC6.0和VS2010存在差异,而VS2010遵循了更标准的...

为什么VC6.0在中国这么普遍,他不是98年的老版本吗……
只是个编译器而已,都一样啊,而且VC6短小精悍,何况目前完全支持C99标准的编译器还没有,所以VC6完全没有过时一说,用于一般小程序的编写和调试完全足够了,为了几行代码花费大量的系统资源去安装VS2010什么的不值得呀,我平时还在U盘上放个wintc,图方便而已,各个编译器之间绝大部分是互通的,除了一些...

vs2010与vc++6.0的编程有什么区别?
1、编译器的不同 VC6.0更初级,更适合初学C语言的人使用,但是由于VC6.0推出的时间比较久,因此有很多变量和函数定义的方法都跟不上时代了,而且与win7会有一些不兼容;VS2010:相对功能比较完善,兼容性更好,代码风格和代码提示对于编程者来说更完善,编写程序更方便。2、实现功能的不同 从VS2002...

console在VC6.0中
console与windows在应用程序开发中存在显著差异。windows应用程序基于Microsoft的.NET Framework,主要调用框架提供的功能。与此相反,console应用程序则与平台无关,其接口调用遵循标准的C库。一个很好的例子是,编写一个软件,该软件在Windows和Linux下均能成功编译运行。这类应用可被归类为console应用程序。

VC++6.0、VC2008、VC2010之间的区别
二、兼容系统不同 1、VC++6.0:VC++6.0只能运行在Windows 98、Windows NT4.0或Windows 2000上。2、VC2008:VC2008的为。从这个版本开始,微软放弃了对编写Win9x架构系统上的软件的支持。3、VC2010:VC2010只能安装于win7或者更高的windows操作系统。三、新增功能不同 1、VC++6.0:VC++6.0开始...

相似回答
大家正在搜