`
kmplayer
  • 浏览: 509969 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VS2008与VC6.0的变化

阅读更多
1.MessageBox()

VC++6.0:MessageBox("Hello,World!");
VS2008:MessageBox(L"Hello,World!"); 或 MessageBox(TEXT("Hello,World!"));

2.Combo box内容添加方法
VC++6.0:Drop-Down List Box Control 的 Properties 中的 Data 用 Ctrl-Enter 输入
VS2008:更名为 Combo-Box Control ,并在右侧 Data 区域用 semicolons(即';')分隔输入

3.从.net开始就没有classwizard了,全部在属性窗口里了
属性窗口中有,闪电图标及右边的都是,包括事件,消息,虚函数重载,加入变量则是在类标上右击->添加变量……

4.消息映射
VS2005对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2005下编译不通过
a,ON_MESSAGE(message,OnMyMessage);
OnMyMessage返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);
如果不符合,则有错误提示:
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
b,在VS2005中,OnMyMessage返回值必须为BOOL,且含有一个 UINT 参数指出了命令ID,其形式为:afx_msg BOOL OnMyMessage(UINT);如果不符合,则有错误提示.
如在VS6中,OnMyMessage2的定义为afx_msg BOOL OnViewZoomBar()时亦可正常编译通过,但在VS2005下,有错误提示:
error C2440: “static_cast”: 无法从“BOOL (__thiscall CMainFrame::* )(void)”转换为“BOOL (__thiscall CCmdTarget::* )(UINT)”
error C2440: “static_cast”: 无法从“BOOL (__thiscall CMainFrame::* )(void)”转换为“BOOL (__thiscall CCmdTarget::* )(UINT)”

5.字符处理
在c中广泛使用的strcpy,strcat,strstr等等推荐使用更为安全strcpy_s,strcat_s,strstr_s等来代替.

6.数学函数检查
VS2005中,数学函数的参数检查更为严格,如pow(2, 45)会引起一个错误提示如下:
error C2668: “pow”: 对重载函数的调用不明确
d:\program files\microsoft visual studio 8\vc\include\math.h(575): 可能是“long double pow(long double,int)”
d:\program files\microsoft visual studio 8\vc\include\math.h(527): 或“float pow(float,int)”
d:\program files\microsoft visual studio 8\vc\include\math.h(489): 或“double pow(double,int)”
试图匹配参数列表“(int, int)”时
正确的使用为pow(2.0, 45)

7.更加符合C++标准
如在VS6中,在FOR循环中的循环变量的定义的作用域延伸到循环体外,VS2005则修正了这样的bug。
VC6:
for(int i=0;i<100;i++)f2(); 
for(i = 1;i<10;i++)f1();    //i已经定义
而有VS2005中,第二句的i必须重新定义
分享到:
评论

相关推荐

    VC 6.0工程转VS的方法

    VC 6.0与VS 2015/2017在编译器语法、标准库支持和预处理器定义上存在差异。例如,VC 6.0可能使用了一些非标准的或特定版本的宏,而VS 2015/2017可能不再支持或有新的实现。解决这个问题通常需要逐个检查源代码中的宏...

    Vc6.0sp6补丁英文版.zip

    **VC6.0 SP6 补丁英文版详解** Visual C++ 6.0(简称VC6.0)是微软公司推出的一款经典且强大的C++集成开发环境,它在编程界有着广泛的应用,尤其在教育领域和一些老项目维护中仍被大量使用。然而,随着操作系统的...

    vc6.0电子教案 vc6.0上课用的PPT

    **VC6.0 教程概述** VC6.0,全称Microsoft Visual C++ 6.0,是一款经典的集成开发环境(IDE),主要用于编写使用C++编程语言的应用程序。这款软件在1998年发布,尽管后续版本已经更新到Visual Studio 2022,但VC6.0...

    vc6.0显示行号的工具

    VC6.0,全称Microsoft Visual C++ 6.0,是微软推出的一款经典C++集成开发环境。在编程过程中,行号对于调试和理解代码结构具有重要作用。然而,VC6.0默认并不显示代码编辑器中的行号,这可能会给开发者带来不便。...

    VC6.0全集(包含VC6.0中英文版和MSDN以及相关插件)

    #### 二、VC6.0的特点与功能 ##### 1. 集成开发环境 VC6.0提供了一个集成的开发环境,包含了代码编辑器、编译器、调试器等多种工具,使得开发者可以在一个统一的界面内完成整个开发流程。 ##### 2. 多语言支持 VC...

    VC6.0精简版

    4. **编译器与链接器**:VC6.0自带的C++编译器支持多种优化选项,可以生成高效的机器码。链接器则将编译后的.obj文件转换为可执行程序或动态链接库。 5. **调试器**:强大的调试工具,支持断点、单步执行、变量查看...

    VC6.0使用方法

    自2008年起,全国计算机等级考试开始全面采用VC6.0作为C语言上机考试的环境,因此了解如何在VC6.0中编写和调试C语言程序变得尤为重要。 #### 三、在VC6.0中运行C程序 ##### 1. 启动VC6.0 - **步骤**:在Windows...

    vc6.0 mfc 分割窗口

    在Microsoft Visual C++ 6.0 (VC6.0) 中,MFC(Microsoft Foundation Classes)库提供了一种方便的方式来创建Windows应用程序。MFC 是一个C++类库,它封装了Windows API,使得开发者可以使用面向对象的方式进行编程...

    VC6.0教程实例

    **VC6.0教程实例详解** Microsoft Visual C++ 6.0(简称VC6.0)是一款经典的集成开发环境,广泛用于Windows平台上的C++应用程序开发。本教程将重点讲解如何利用VC6.0和MFC(Microsoft Foundation Classes)框架进行...

    vc6.0编译软件

    **VC6.0 编译软件** Microsoft Visual C++ 6.0(简称VC6.0)是一款经典的C++和C语言开发环境,由微软公司发布。它在20世纪90年代末期至21世纪初期是许多程序员首选的开发工具,尤其是对于初学者而言。VC6.0不仅提供...

    vc6.0 画数字存储示波器 含MtbLine.ocx控件及vc例程

    在本文中,我们将深入探讨如何在Microsoft Visual C++ 6.0(简称VC6.0)环境下使用MtbLine.ocx控件来构建一个数字存储示波器的应用程序。MtbLine.ocx是一个专为图形绘制设计的ActiveX控件,它提供了丰富的图形绘制...

    VC6.0工程名修改器

    在长期的项目开发过程中,有时我们需要更改工程的名字以适应项目需求的变化,这时"VC6.0工程名修改器"就显得非常实用。 这个工具的主要作用是帮助用户方便地修改VC6.0工程的名称,而无需手动去更改一系列相关的配置...

    VC6.0 粒子编程烟花效果

    在本文中,我们将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC6.0)进行粒子编程,特别是创建烟花效果。粒子系统是一种在计算机图形学中广泛使用的技术,用于模拟复杂、动态的视觉效果,如火、烟、水、火花等...

    VC6.0完成统计图

    在本项目中,"VC6.0完成统计图"是一个基于Microsoft Visual C++ 6.0(简称VC6.0)开发的小型应用程序。这个程序主要用于处理学生分数数据,并通过图形化的方式展示成绩的分布情况。它具备绘制折线图、直方图和饼图的...

    VC6.0串口通信上位机软件

    《VC6.0串口通信上位机软件详解与实践》 在电子工程和自动化领域,数据通信是不可或缺的一部分,而串口通信更是其中的基础。本文将深入探讨如何使用Visual C++ 6.0(简称VC6.0)开发一个串口通信的上位机软件,实现...

    串口通信vc6.0

    在本文中,我们将深入探讨如何使用VC6.0(Visual C++ 6.0)结合MFC(Microsoft Foundation Classes)库来创建用户界面,并通过MSComm控件进行串口通信,实现数据的发送与接收以及参数设置。 首先,我们需要了解串口...

    VC6.0目录监视程序代码

    【VC6.0目录监视程序代码】是一种使用Microsoft Visual C++ 6.0(简称VC6.0)编写的程序,其主要功能是实时监控指定目录的变化情况。这个程序可以帮助开发者或者系统管理员了解系统中特定目录下的文件和子目录的创建...

    VC6.0下实现SIFT算法

    在压缩包中的文件名“VC6.0下实现”可能是指包含源代码文件,你可以根据提供的代码进一步理解和学习如何在VC6.0下实现SIFT算法。通过阅读和理解代码,你可以了解到如何将OpenCV的API应用到实际项目中,以及如何处理...

    VC6.0的调试指南

    **VC6.0调试指南** Visual C++ 6.0(简称VC6.0)是Microsoft公司开发的一款经典且强大的C++集成开发环境,它在软件开发领域有着广泛的应用,尤其是对于初学者而言,它是学习C++编程的重要工具。本指南将深入探讨...

    VC6.0对话框开发

    在Windows编程领域,Visual C++ 6.0(简称VC6.0)是一款经典且深受开发者喜爱的集成开发环境,尤其适用于开发基于Windows的应用程序。在这个环境中,对话框(Dialog)是用户界面的重要组成部分,它提供了与用户交互...

Global site tag (gtag.js) - Google Analytics