vc6.0 PK vs2010

从VC++6.0不足看VisualC++2010新特性

  说起VC,有人想到维生素C(维C),有人想到风险投资(venture capital),
程序员们尤其是做底层开发的程序员或老程序员们第一感觉肯定会想到Visual
C++6.0。为什么是6.0而不是其它的版本?这里的原因就不用我再多讲了,因为太经典了!这个经典已经有了10年的光荣历史,微软的Visual
Studio系列也已经发展到了Visual Studio 2010。漫长的辉煌中Visual C++6.0也暴露出了一些问题,在这篇文章中我们将从Visual
C++6.0的问题和Visual C++2010的新特性两个方面向大家介绍,也可以说是Visual C++2010 PK Visual C++6.0。

VC++ 6.0的问题

  VC++ 6.0是Visual Studio6.0中的一种重要编程语言,也是中国C++开发人员使用最多的开发工具之一。
Visual
C++是构建Windows平台下应用程序功能最强大而又最复杂的工具,是目前世界上使用最多的开发工具之一,应用极度广泛,从桌面应用程序到服务器程序,从系统软件到应用软件,图形图像,语音技术,设备驱动,网络安全,加密解密等等几乎无处不在。主流的3
种操作系统Windows,Linux,Unix内核都是用C语言和汇编语言写的,而上层的高级特性都是用C++编写。

直到今天,Visual
C++6.0仍然占据着C++开发工具的绝对优势的地位。自从微软从2000年开始推行.NET战略以来,其核心的编程语言是C#,从那个时候,C++的支持力度就开始不断的下滑,虽然Visual
C++也有几次更新,但都不是很令人满意,更灵人焦虑的是,有些开发者开始怀疑Visual C++的前途。尽管Visual
C++的一些快捷开发被其他开发语言所取代,由于C++可以与操作系统的天生的暧昧关系,能够与C语言无缝结合,所以Visual
C++不可能被淘汰,尤其是对于底层开发。尽管Visual C++ 6.0很强大,是编程语言里一再受宠的幸运儿。但是Visual
C++6.0已经成了昨日黄花,尤其让所有Visual C++6.0开发人员郁闷的是Visual
C++6.0开发的界面还停留在早期的水平上,界面粗糙,操作复杂,比起现在华丽而又夺人眼目的界面设计,更是逊色不少。而且Visual
C++6.0也不完全符合C++标准。
  正是由于VisualC++6.0的界面设计还停留在Windows
98时期的水平,操作复杂,再加上它不是完全符合C++标准,在代码和BUG跟踪调试上异常复杂,这也提高了踏入VC++开发的门榄。但是随着Visual
C++2010的推出,全面支持最新的C++标准、改善了IDE的效率,并且引入了很多新的特性,这些功能的增强,大大提高程序员们的开发效率,带来更高的代码生产力与开发的便捷。

Visual C++2010 新特性

  Visual
C++2010为所有的VC++开发人员做了贴心而又周全的考虑,下面我们从可视化设计、人性化使用、安全可靠、支持C++新标准和部署简洁等方面介绍Visual
C++2010的新特性。详情请见:http://msdn.microsoft.com/zh-cn/library/dd831853.aspx

1.     Ribbion界面设计可视化

  在Visual C++6.0开发里面,界面简单丑陋是其中一个不爽的地方。尽管在Visual C++
2008里面对Ribbion功能有所改善,但是仍不能进行可视化设计,Visual C++
2010新增了Windows7的风格,同时最大的革新就是实现了可视化设计,很容易设计出漂亮的程序界面。下面我们体验一下Visual C++
2010界面可视化设计的特性。具体操作步骤如下:

? 打开Microsoft Visual Studio
2010,点击“文件->新建->项目”,打开“新建项目”窗体

? 在“新建项目”窗体中,选择“Visual C++”节点中的“CLR”,然后在“模板”窗格中选择“Windows
窗体应用程序”。名称输入“WinFormDemo”。

?  随即打开Windows 窗体设计器,出现Form1 窗体

? 设置窗体属性,Text为WinFormDemo;添加一个Label,一个Button,一个DateTimePicker,具体如下:

















控件类型

控件名称

Text属性

Label

labMessage

请选择日期

Button

dtpSelected

DateTimePicker

btnExit

退出

? 选中dtpSelected,为其添加ValueChanged事件,输入如下代码

? 双击btnExit,输入如下代码:

? 按“F5”运行

2.     更加人性化设计

  Visual C++ 2010也对于开发人员做了很多人性化设计,以前的Visual
C++版本,经常出现假死,例如头文件编辑,改变项目设置,配置项目的物理分布,新增控件等等,微软都做了很多调整。同时有了改进的错误智能感知支持,会在错误下方显示红色的波浪线,同时还提供了错误列表窗口,在窗口中双击列表中具体的项,自动定位到错误的位置,远远胜过了以前使用的Visual
Assist。

  在包含头文件时,也增加了自动完成和过滤功能。键入
#include时,集成开发环境将自动创建一个包含有效的头文件的下拉列表供您选择。如果你继续输入一个文件名,集成开发环境将自动根据您的输入加以过滤。在任何时候,你都可以根据这个列表来选择你想要包含的文件。因此,这一功能可以让程序员快速地包含那些尚不确切知道文件名的文件。

3.     重新启动管理器增强了稳健性和可靠性

  Visual C++ 2010新增了重新启动管理器。重新启动管理器是Visual Studio for Windows
Vista
的一项新增功能,增加了在应用程序意外关闭或重新启动的情况下对应用程序的支持。重新启动管理器的行为与应用程序的类型有关,如果是文档编辑器之类的应用程序,重新启动管理使应用程序器能够自动保存已经打开的文档的状态和内容,在程序异常的时候,能够保存运行时的数据,自动恢复到未发生异常时的情况,从而提高了程序的稳健性与可靠性。如果应用程序不是文档编辑器,则重新启动管理器将重新启动应用程序,但默认情况下无法保存应用程序的状态。

  重新启动后,根据不同的应用程序,有任务对话框、Windows消息框等消息提示框,供用户选择是否还原到自动保存前的状态,如果用户选择不还原,重新启动管理器将丢弃临时保存的文件

  向现有应用程序中添加对重新启动管理器支持的具体步骤是:

?  在 Visual Studio 中打开一个现有WinFormDemo应用程序。

? 打开主应用程序的源文件。默认情况下,此文件是与应用程序同名的
.cpp文件。例如,WinFormDemo的主应用程序源文件是WinFormDemo.cpp。

? 查找主应用程序的构造函数。例如,如果项目为MyProject,则构造函数为

#div_code img{border:0px;}
  Code highlighting produced by
Actipro CodeHighlighter (freeware)

        
http://www.CodeHighlighter.com/

        
-->CWinFormDemoApp::CWinFormDemoApp()

? 将以下代码行添加到构造函数。

? 确保应用程序的 [InitInstance] 方法调用其父级InitInstance方法:

  CWinApp::InitInstance或CWinAppEx::InitInstance。InitInstance方法负责检查m_dwRestartManagerSupportFlags参数。

? 编译并运行应用程序 

4.     完全支持C++0x新标准

  Visual Studio 2010开始对C++新标准C++0x全面支持,不会再像Visual C++
6.0一样,对C++标准支持不佳。引进了很多C++新特性,这些新特性带来C++性能与效率更大的提升。并且在项目升级上做了很大改进,以前Visual
Studio2008, Visual Studio 2005升级VC6.0的时候,经常遇到C++语言新特性标准兼容性问题,Visual Studio
2010将兼容VC6.0,乃至Visual
Studio2008,2005,2003开发的程序,进行代码转换与项目升级的时候自动更改编译器设置C++语言兼容,用以前的开发工具开发的程序在Visual
Studio
2010都将不会再出现兼容性问题与故障。那些已经存在的非托管应用程序,通过一定的处理也同样能够具有Windows7所带来的特性。所有的老项目都能用Visual
Studio 2010进行兼容性升级。

5.     更容易发布、部署

  Visual Studio 2010改变了依赖于VisualC++库的应用程序的发布方式。依赖于Visual
C++库的应用程序不再需要Fusion (WinSxS)
Manifest,这意味着当我们将应用程序部署到一个本地文件夹时,将不再需要众多的小Manifest。另外,Visual C++
2010也同样支持之前的各种部署机制,这些过去常用的方法在System32目录下安装Visual C++库。总之,Visual
C++程序的发布与部署将更加简单。

  首先,生成前面项目的Release文件,具体方法是选中解决方案,修改配置管理器中的配置为“Release”,然后“生成解决方案”即可。

  然后,在前面创建的解决方案中,添加“安装和部署”项目

? 选择“文件->新建->项目”,打开“新建项目”窗体

? 选择“安装和部署->VisualStudio Installer->安装项目”,点击“确定”

? 选中“Setup1”,点击右键,选择“添加->项目输出”

? 在“添加项目输出组”中选择“主输出”,配置选择“ReleaseWin32”,如下图

? 点击“重新生成”,即可产生下列文件,将 Setup1.msi 和 setup.exe
复制到第二台计算机上,按照安装向导提示的步骤完成安装。

  如果将应用程序部署到应用程序本地文件夹,只需生成Release文件,然后复制WinFormDemo和C 运行库(CRT)
库文件、mfc100u.dll 和msvcr100.dll 复制到WinFormDemo项目的Release 文件夹中就可以了。

VC6.0与VS2010区别

l 区别1:字符串的表达

voidCMy123Dlg::OnBnClickedButton1()
{
//
MessageBox("你好");//以前VC6.0写法,现在用不了.老版本用的多字节字符集

// MessageBox(L"你好");//L是 unicode字符集,可移植性不好

// MessageBox(_T("你好"));//这3种方法一样
//
MessageBox(TEXT("你好"));
// MessageBox(_TEXT("你好"));

}

在VS2010中用哪个比较好?_T(),至于说明介绍之类的资料,在网上有很多,所以没有复制过来

l 区别2:网络编程的移植性:

区别还是有一丁点.就是字符上面.只要用_T(x)即可首先不得不说明:现在相当大的程序,都是使用多字节,并不是一步就能改成兼容的Unicode库.在代码中是要花费大量精力去修改,本来一个小小的程序,说不定修改就占了一半的时间与精力.(会修改还好,不会修改,那真的是...)举一个函数strcpy_s,在2者版本中兼容性就有问题.具体在MSDN中查询strcpy_s

所以,以后的程序中以大众为版本,使用多字节版--------->以后不做提示.默认为多字节版,另外写的程序默认为静态链接库(考虑到程序移植问题)

l 区别3:在类视图中,VS2010删除一个函数不是右键-->删除就能删除的,而是在类向导中--->删除

l 区别6:同一条语句.在VS2010编译器中,C++不允许默认int类型存在.而在VC++6.0就可以存在.语句如下:

ShutDownProc(BYTE* DATE);//函数声明

CMyDlg::PutFileProc(BYTE
*DATE)//函数使用
{
SetDlgItemText(IDC_WORK_START,(char*)DATE);
}

区别将持续更新中,敬请期待~~ ,另外,我们最常用文件头 iostream.h在 vc2010里面用不了2010只支持iostream
+ uisng namespace std

如何从VC++6.0向VS2010过渡

l 1)你的工程不是vc6.0的工程,如果要移植到vs2008/vs2010,直接用vs2008/vs2010用打开工程中.vcproj文件。如果遇到警告,或编译错误需要自行调试。

l 2)vc6.0中.dsw-->工作空间(类似vs2008/vs2010的解决方案),.dsp-->工程文件;
 
vs2008/vs2010中-->.sln工作空间, .vcproj-->工程文件;

小结

  经典也有过去时,在本文中我们对VC++6.0不足做了阐述,同时对Visual C++
2010的一些新特性做了介绍,并将这二者做了比较,不难看出,微软花大精力推出的Visual C++
2010,在操作使用、安全方面等,更多的考虑了使用者的习惯,在类库(MFC)和向导工程上都做了重要更新,更大程度上提高了开发人员的效率,我们还等什么呢,拥抱Visual
C++ 2010,完美编码吧

vc6.0 PK vs2010,布布扣,bubuko.com

时间: 2024-08-04 12:36:11

vc6.0 PK vs2010的相关文章

VC6.0学习C语言入门SDK

百度网盘链接 VC6.0    密码:t6bd VS2010 密码:3of2 C语言入门教程 在线视频地址(PS此链接摘抄至博主lellansin) Acfun.tv:http://www.acfun.tv/search.aspx#query=C语言入门教程 Bilibili.tv:http://www.bilibili.tv/search?keyword=C语言入门教程 最后和大家分享一个实现行列式算法的C代码 /*=======================================

关于VS2010帮助文档的使用和VC6.0在Win7 64位下的使用

由于购置了新的电脑,安装的是Win7 64位的操作系统,这两天我在重新安装编程环境的时候遇到一些问题,现在都解决掉了,分享出来以供需要的人参考. 一.以前使用的是VS2008,从VC6到2008这么多年了一只使用的MSDN是带索引的本地帮助,到了现在使用VS2010了,发现VS2010采用的是Web版形式的帮助. 并且也没有了索引.书签等非常的不习惯. 后来找到一个名字为:"h3viewer"的工具,在前提:已经安装了VS2010帮助文档的情况下.安装h3viewer,运行后界面如下:

VC6.0编译DLL,使用VS2010调用问题及解决方法

1.做驱动的时候,做应用程序需要和驱动通信,必须建立一个DLL. 2.因为客户使用版本太低,需要使用到VC6.0编写DLL 3.在VC6.0上编写DLL的时候,导出的函数名会出现和原函数名不对,导致调用失败 4.解决办法, 找到VC6.0工程下面的文件   ***.DEF. 把里面的   LIBRARY  后面输入要导出的DLL的文件名.如: LIBRARY      "pc104dll" 在EXPORTS后面输入要导出的函数名,整个文件内容入下: LIBRARY      "

vs2010与vc6.0 的区别 持续更新……

1.用户自定义消息 vc6.0 版本 #define UM_SEND_DONE WM_USER+1afx_msg void OnRevDone(WPARAM wParam. LPARAM lParam)ON_MESSAGE( UM_SEND_DONE,OnRevDone)void CChatOne::OnSendDone(WPARAM wParam. LPARAM lParam){} vs2010 版本 #define UM_SEND_DONE WM_USER+1 afx_msg LPRESUL

windows下vc6.0下的OpeSSL编译过程中的问题

我的机器环境是:window7 + vs2010 + vc6.0; 其实,在windows上用VS2010以上的工具来编译Openssl源码库很简单,估计大家都测试过,用VS2008及其以上的工具编译Openssl源码库就3行代码即可: perl Configure -WIN32 --prefix=d:/openssl ms\do_ms nmake -f ms\nt.mak vc6.0版本的openssl编译步骤如下: 1.打开命令提示符,找到vc6.0所在的bin目录,输入VCVARS32.B

在VC6.0中能不能使用Duilib界面库呢?

Duilib库的源代码是在vs2010下编译的,一般适用于vs2008及以上的版本开发使用,那么duilib能不能在vc6.0的工程中使用呢?如何在vc6.0中使用duilib库呢? 今天,由于工作要求,需要在vc6.0下使用duilib库,百度了很久,未果,所以自己来尝试了一下! 1.在vc6.0中,新建一个MFC对话框工程,我用的是mfc对话框,习惯这么用. 2.将Duilib头文件及lib引用库拷贝到工程目录,引用进去. 3.新建duidlg类,这个类是自己定义的,对应这duilib里的窗

vc6.0转vs2005出现的问题

 在将vc6.0程序转换到vs2005或者vs2008.vs2010时提示:error C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CStaticLink::* )(CPoint)' to 'LRESULT (__thiscall CWnd::* )(CPoint)   解决方法:找到  UNIT CStaticLink::OnNcHitTest(CPoint point) 将UNIT 改为LRESULT  error

(转)VC6.0中OpenGL开发环境配置

首先简单介绍一下OpenGL: OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.       OpenGL官方网站(英文)    http://www.opengl.org 然后设置编程的一些环境,及其安装必备文件的步骤如下: 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的.但这里我们选择VC++ 6.0作为学习OpenGL的环

VC6.0在Win10下的兼容性问题设置(可以试试)

Microsoft Visual C++ 6.0,简称VC6.0,是微软推出的一款C++编译器,将"高级语言"翻译为"机器语言(低级语言)"的程 序.Visual C++是一个功能强大的可视化软件开发工具.自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问 世,Visual C++已成为专业程序员进行软件开发的首选工具. VC++6.0主要是在Windows XP下运行,在win7,win8和win10下运行均会存在一些兼容性的