不知道现在用VS2010的大牛们,你们以前用过VC6.0没有...  如果你们都用过,不知道大家是否发现一个问题. 很多程序 在VC6.0中建立WIN32应用程序能够正确运行的,到了VS2010,同样建立WIN32应用程序去编译,没问题,但是运行的时候问题就来了. 要么不是达不到效果,要么就是程序崩溃.举例吧:  用SetTimer()设定定时器,在VC6.0中,不论你定义了几个定时器,都能正常运行,但是在VS2010时,当你用到第七个定时器并且程序运行到那里时,程序会自动崩溃。开始 以为是代码问题,但是看了许久也看不出问题,索性拉回VC6.0去编译,嘿,还正确运行了。  
 也不知道 为什么 ? 难道和头文件定义有关,还是VS2010的设置问题。
再举例: 同样是 WIN32应用程序, 用SDK中的 CreateWindow()建立 无边框的窗口, VC中能实现的效果,到了VS2010中,就直接运行时最小化,不能正常显示. 当然,不要问 有没有ShowWindow() UpdateWindow(). 本人虽不算大牛,但这种比较低级的错误还是不会犯的...大家知道 VC6.0和 VS中的VC差异在哪么?或者说vs要如何设置VC编程环境?

解决方案 »

  1.   

    我用过VC6.0和VS2008,感觉VS2008很好用,但是编译后产生的工程都是接近100M,太大了;VC6.0比较小巧,但是不够人性化。我喜欢用VS2008,VS2010就不清楚了
      

  2.   

    没用过VS2010 大部分时间在用VC6 偶尔用VS2008
      

  3.   

    估计还是你的代码的问题
    你vc6和vc2010是不是在同一个操作系统
      

  4.   

    vs2010和vc6.0还是有区别的,特别是字符问题。
      

  5.   

    应该认真读一下2003、2005、2008、2010版的MSDN,每一次升级时,MSDN中都有描述
    当前版本与上一个版本的不同之处。累积起来就是2010与VC6的差异了。
    VC6诞生于1998年,当时的应用环境与现在差别按计算机时间来讲可以说是间隔几个世纪了。
    VC6不完全符合C++标准规范,因此一些不够严谨的代码在VC6中可以运行,到了2010就不行了。
    这是绝对是进步。而不是退步。
    至于你说的具体问题,十有八九应该检查你的代码,而且,VS2010说到底是一个C++编译器,
    你说的问题还有可能是SDK的版本升级过程中的改变,VC6用的SDK、MFC那些.H都很久远。
    到VS2010已经升级过好几次了。其中大批的函数有了变化,一些以前可以做的事,其行为和调用
    方式都起了变化,因此得到的结果就是不一样的。这很正常,跟2010没有丝毫关系。
    除非 1)对代码大小非常在意。2)应用环境VC6已经满足。3)执著热爱V6,否则,早就应该
    换代了。