金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  349 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
(转载请注明来源于金庆的专栏)

我还在用的VC6本来早就该升级了,毕竟VC已经从VC6经历7.0、7.1、8.0,现在已经到了VC9(VC2008)了。
只是我比较恋旧,想想我的机器也受不了MS频繁的升级,现在的机器也就免强能跑跑VC6。

但是现在C++标准升级了,GCC也升级了,VC6 真的已经是必须丢弃的鸡骨头了。

VC6自带的std::string的引用计数在多核上让我受苦,查错一周有余才找到这个原凶。后来就促使我将stl库替换为StlPort。

boost.asio库明确说明不支持VC6。
stlsoft库某些组件无法兼容VC6(详细阅读了《Extended STL》,才知道为了VC6要耗费大量的精力,有些组件本身已很复杂,以至于需要排除VC6才能实现。)

今天使用boost.date_time时又发现VC6不行了。
time_formatters.hpp(72) : error C2664: '_i64toa' : cannot convert parameter 2 from 'unsigned short [32]' to 'char *'

time_formatters.hpp相应代码为:
      //TODO the following is totally non-generic, yelling FIXME
#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
      boost::int64_t frac_sec 
= 
        date_time::absolute_value(td.fractional_seconds());
      
// JDG [7/6/02 VC++ compatibility]
      charT buff[32];
      _i64toa(frac_sec, buff, 
10);
#else

VC6的_MSC_VER是1200,这段代码明显是针对VC6的。
可惜JDG的简单补丁并没有考虑VC6+STLP的情况,_i64toa()只能接受char buff,对于wchar则报以上错误。
实际上有StlPort,根本不必调用_i64toa(),因为int64_t在StlPort中是可以直接流式输出的。

为什么只用到char,仍会对wchar实例化?为什么data_time的库编译会成功?这些仍是问题。
不用Stlport就不会报这个错,可见wchar特化的实例化只在stlport环境下才进行。

查看date_time的文档,明确支持的VC版本只有VC7.1。
VC8有些问题。VC6、7已停止正式的支持。

看来我该升级了,先升级我的机器。
posted on 2008-03-14 15:58 金庆 阅读(5637) 评论(35)  编辑 收藏 引用 所属分类: 1. C/C++

评论

# re: VC6正在被抛弃 2008-03-14 17:15 DC
都快10年前的东西了,抛弃它了吧,否则世界会抛弃你的……

:)  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-14 17:28 Jeff Chen
同感。我在用boost库时也发现很多都不支持VC6,只能逼迫改用MFC来实现一些功能。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-14 17:50 空明流转
话说设计的像BOOST这样BT的库也不多。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-14 21:14 abettor
@空明流转
BOOST库BT,此话从何说起呀?  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-14 23:15 万连文
假如说对模板支持不好就被淘汰似乎不对。对于软件系统设计,静态多态和动态多态都是非常好的设计手法,我个人偏向虚接口派生类的方式。对于模板的多态, 脑筋始终转不过来。记得以前一个人面试我,问我用不用boost,我说不用,他立马对我态度大变,意思就是说不用模板系统就无法设计的独立优美的插件系统,软件模块化就不好。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-15 13:05 eXile
@万连文
其实静多态的优势就是运行效率高一点, 选择静多态还是动多态, 要看插件系统是基于源代码重用,还是二进制重用, 以及对性能的要求如何.
不过一个事实是:不用boost的人,一般对模板都了解不深, 我想这才是这个家伙态度大变的原因吧.  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-15 14:17 long.muyi
我更喜欢模板,它不光是效率的问题,更重要是设计。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-16 20:50 Kven
其实,我觉得VC6很好,对于初学者来说,是不错的磨练机。
虽然会被时代抛弃,可是能够真真体验一下,我们那些IT大哥大,
曾经怎样用这些跟不上时代的软件,打造出现时代的软件。
因为还没有VC9之前,也不是只有这些VC6,VC7罢了!!  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-17 09:57 Enoch
作为IDE,加上一些库的使用,本人认为VC6很完美,所以至今我还没有放弃,机子上只能是VC6+VS2005,毕竟时代也在进步,不能太念旧。
忘不了VC6。

好矛盾的心理。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-17 13:23 stlf
VC6不支持偏特化, STLPort为了在std::advace 中模拟偏特化绕了一大圈。 不过VC6使用的交互感觉确实很爽, 界面简洁,速度快, 对机器要求不高, 如果他能够继续升级(或许是打补丁的方式, 而不是臃肿的VS2005), 更好的支持标准C++那就perfect了!可惜接近完美的事物不多。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-17 16:09 不懂
我们还在用VC6,目前没有更新到更高版本的计划,难道我们落后了
  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-17 21:24 长江三峡
有些怀念  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-18 11:11 矩阵操作
要是实在太怀念VC6那个界面,可以在VC6里面挂上VC9或者VC8的编译器嘛!
个人认为,没有必要停留在VC6那个淘汰的编译器上  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-18 13:57 空明流转
@abettor
boost经常到标准最阴暗的角落去挖东西。。。
“我靠,我被8.5.3打败了”  回复  更多评论
  

# re: VC6正在被抛弃[未登录] 2008-03-22 02:23 alex
vc6的ide不错,后来的都是.net搞的版本。  回复  更多评论
  

# re: VC6正在被抛弃 2008-03-31 21:15 blueice
使用VC6的IDE和Intel C++ 9.0左右的版本来配合就不错,但有时生成的可执行文件比较大,VC6也是很经典的!  回复  更多评论
  

# re: VC6正在被抛弃 2008-05-26 10:22 ff
我是VC6、VC71、VC9同时用  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 10:40 疯子阿虹
有毛病吧,现在还讨论VC6?我承认在那个一统江湖的年代,VC6给了我太多的快乐。第一次使用vc7.1的时候,我真想狂骂。但是我知道,要接受新事物,首先是要在思想上接受新事物!!!!!

程序员是顽固的,僵化的,所以一直不愿意脱离VC6,可是当我渐渐熟悉7.1的时候。我彻底删除了vc6。为了兼容,我现在机器上装有vs2003,vs2005,vs2008。别告诉我你还用10年前的mmx200,我家有台破笔记本,运行vs2005一点问题都没有。

说自己机器慢不肯定用vs2003的固执程序员,我实在不想说啥了。
如果要真他爷爷的固执,干脆用tc2.0,那个可比vc6还要经典100倍!!!
C的程序简洁明了,也足够开发了!


做了程序员这么多年,我实在是见到了太多固执透彻的程序员,有些时候甚至固执的让我五体投地!程序员的固执,啥时候能改改。日了,想起这个话题就想骂。。。  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 10:44 卡卡
楼上傻逼,问题是现在有很多开发,要用vc6,或者是EVC4.2,这些东西或许落伍,但又能则样呢?编译器也不是流行歌曲,再说,今天还不是有很多人在唱《忘情水》吗!  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 10:52 疯子阿虹
又一个固执的傻逼,你到大街上唱唱《忘情水》看看,100个人99个人把你当傻逼,还有其中一个就是你个傻逼。

你说的对,编译器不是流行歌曲,所以,你应该使用DOS,或者win95,要不然win95 osr2也行(那个版本我用了好几年!)要是你丫现在用XP上网,并且使用搜狗或者高级输入法的话,你给我等着,下来来北京的时候,我丫把你球踹断!!!
  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 10:58 卡卡
用XP只是个人,很多企业都在用老系统,很多工业级的产品就是这样,你可以看看日本,就知道了,你个傻逼  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 11:09 疯子阿虹
又菜了不是,需求导致。懂吗?需求!!!

我一个超市的收银POS机,非得让我装一个windows server 2003,有必要吗??一个DOS简洁明了。

问题是你要搞清楚你的地位。你是程序员,你是工程师,你是发明技术的角儿!!

对,你是程序员,但是你用老系统,写了一大堆破代码,不是为了绕开C++规范,而是该死的编译器。别人用的时候怎么想??

对,你是工程师,一个工程师使用老旧的系统外行会怎么看?就像已经有了示波器,但是你丫还不用他调试电子系统一样土!

对,你说发明技术的角儿。用那么落后的编译器,很多template不兼容,你怎么发明新技术,俗语是磨刀不误砍柴工,不是 做刀不误砍柴工!!


你如果是一个普通人,你怀旧,别人认为你是童心未眠。
如果你是一个菜鸟,你怀旧,别人认为你不够成熟。
如果你自诩为一个程序员,一个高级程序员,一个C++爱好者(当然C++也快淘汰了),一个玩技术的人,你还在用破编译器,那我只能说,你丫无聊闲得慌了。

当然,肯定还有人倔强,说,我就用了,怎地吧?
我说,你牛逼,用本事你就一直用。不用都不行!!!!



  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 11:45 无名
快速的切换控制台和无鼠标操作,使用vc6可以做到,但是之后的版本很别扭,使用起来很格应,无鼠标操作很恶心。
ls的,你一直说别人倔,你自己又何尝不是,反省一下自己,再来口诛别人吧。  回复  更多评论
  

# re: VC6正在被抛弃 2008-07-17 11:46 无名
厄。没说完,语言之间的争论都是很无聊的,更何况是编译器之间的争论了,争论这个的都是菜鸟。over。  回复  更多评论
  

# re: VC6正在被抛弃[未登录] 2008-07-18 15:40 水手
用就用嘛,喜欢用啥就用啥,用什么舒服就用什么。。。  回复  更多评论
  

# re: VC6正在被抛弃 2008-08-19 20:57 merlinfang
觉得VC6就挺好,关键是顺手
现在观念变了,以前还用标准模板库,现在已经彻底不用了.C++完全被我当成带类的C了.
设计的再好也就那个样,程序对的就可以了.
  回复  更多评论
  

# re: VC6正在被抛弃 2008-09-03 23:18 疯子阿虹
在搜索一篇文章的时候,歪打正着又来到这里。。晕。。。。

首先我承认那天有点过激,但是我觉得我说的还是不无道理。

to 无名
快速切换什么的,跟vs没有关系,何况,你可以把vs配置成和vc6一样的快捷键。

语言之间的争论确实很无聊,因为没有可比性。但是编译器则不同,他们可以对比,至少可以不误导新手。我建议新手还是直接使用vs最新版本。

在最近版本中,C++编译器也做了高度的优化,代码运行的更快更稳定了。
VC6和vs系列,终究到底是编译出一个exe。
所以,根本没有客户要求这个东西一定使用vc6的可能。唯一的,是否能从心理上接受新事物。我那天所生气的是,程序员总是不肯接受新事物,杯子总是满的。

想想自己就是,从vc6升级到vc7的时候,当时vc7全是bug,IDE莫名其妙崩溃,感觉很是烦。后来升级到vc7.1,也是斗争了很久。现在用顺手了,也确实发现新版本的好处了。vs2008就很好用。。

还想说,但是越大越无聊,又不想删除。随便了,爱用啥用啥吧。反正都是程序员。







  回复  更多评论
  

# re: VC6正在被抛弃 2008-11-11 22:29 Linker Lin
怎么没人用CodeBlocks?
哈哈哈。
何必关心IDE死活.

  回复  更多评论
  

# re: VC6正在被抛弃 2008-12-05 09:10 不懂
我们还是一直在用VC6,并且用的很好,没有升级的考虑

VC6是用来做产品的,不是用来讨论语法兼容性的,VC6很好,资源占用少、稳定,这就行了

如果有一天VC6做出来的东西在windows平台上不能用了,我们会考虑换IDE的

VC6是我见过的最好的IDE,可以看看和他同期的IDE还有在用的吗  回复  更多评论
  

# re: VC6正在被抛弃 2008-12-05 09:14 不懂
再说一句,至于“抛弃”

新手可以很简单的说出来,但新手总有一天会成长为老手的,到了你成为老手的那一天,对于更新的技术的,你能对你原来掌握的技术轻易的说“抛弃”?

呵呵  回复  更多评论
  

# re: VC6正在被抛弃 2008-12-05 09:35 金庆
CodeBlocks简单小巧,是C++学习和小工程开发的利器。
VC6是我用得最长时间的工具。
现在的VC2005功能上增强了许多。
技术的更新换代是正常的,该弃就弃。  回复  更多评论
  

# re: VC6正在被抛弃 2009-08-02 17:24 VC6
VS.NET的代码很容易被别人编译,如果是做网络都话,用NET很不错(但还是远远不如用JAVA人多)。开发商业软件,最好还是用VC6,用VS.NET,和搞开源软件。个人认为.NET战略是微软的一个鸡肋级别的产品。
而且用VC6开发的软件,肯定会被后续的操作系统所兼容,向前兼容是微软一向的作风(VISTA除外,VISATA只是个过渡产品)  回复  更多评论
  

# re: VC6正在被抛弃 2010-02-21 14:02 zhz
个人极度抵制05和08,我想主要原因还是在于那庞大的体积和缓慢的速度。  回复  更多评论
  

# re: VC6正在被抛弃 2010-03-30 10:11 wangfeishan
听说c++builder不太稳定  回复  更多评论
  

# re: VC6正在被抛弃 2012-01-23 16:33 sheds
@疯子阿虹
SB的是你吧, 这么说话, 真够二的  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理