VC6正在被抛弃
来源:互联网 发布:手机淘宝6.5.2版本 编辑:程序博客网 时间:2024/05/01 19:20
(转载请注明来源于金庆的专栏)
我还在用的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相应代码为:
#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
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已停止正式的支持。
看来我该升级了,先升级我的机器。
- VC6正在被抛弃
- VC6正在被抛弃?
- 大学生,我们被抛弃?
- 被爱抛弃
- 在打造 iPod 和 Nest 之后,这位被硅谷抛弃的「麻烦制造者」正在巴黎重建浪潮之巅
- 大学生,你被谁抛弃?
- 大学生,我们被谁抛弃?
- 大学生,你被谁抛弃?
- 大学生,你被谁抛弃
- 老北京,你为何被“抛弃”?
- 爱情被抛弃伤感语句
- 你不会被任何人抛弃
- 被抛弃的三十五岁IT女人
- 大学生,你被谁抛弃(转贴)
- 被我抛弃的古典情缘
- 被中国抛弃的世界四大巨星
- [讨论]大学生,你被谁抛弃?
- 被抛开的感觉,抛弃意味着自由。
- [转]广东电信综合业务支撑系统(ibss)简介
- jsp使用自定义标签taglib分页系列——avantouch-common.tld
- 交友网站如何运营盈利----谈下我的地方交友建站
- 如何让DIV高度自适用
- hibernate Session的get和load方法区别
- VC6正在被抛弃
- Self-referencing loop problems
- 2月-3月小结 1.安装Visual Studio 2008
- C#连接各种数据库连接
- oracle 学习入门系列(1):基础,存储过程
- 推荐一款免费的SQL脚本格式化工具--SQLinForm
- Javascript Course 101
- 2月-3月小结 2.MySQL和Oracle服务
- 手机开发平台指南、教程和资料介绍