• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

CArchive的版本控制功能

发布: 2008-5-23 11:21 | 作者: 不详 | 来源: http://www.idcdream.net | 查看: 62次 | 进入软件测试论坛讨论

领测软件测试网 关键字:版本控制 MFC

 

1 引言

Visual C++ 6.0语言开发环境在MFC中以CArchive类为中心提供输入输出的串行化和数据版本控制功能。一般来说,随着软件的升级,对应的输入输出也会发生改变,如何保证多个版本的软件与多种输入输出数据之间的亲和性成为问题。比如说,当用户使用1.0版的软件,而提供的输入却是2.0版软件的输出,结果会如何呢?同样2.0版的软件如何处理1.0版生成的数据呢?

的确,用户可以定义一套自己的文件格式为上述因版本不同造成的造成的麻烦提供解决方案,许多软件都是这么干,但如果你所编制的软件规模很小,功能单一,对数据格式并不在意(当然要保证输入输出正确),那么花力气指定自己的数据文件格式似乎过于繁琐。使用CArchive可以简化这类软件的编制。

2 CArchive的版本控制方式

当你使用DECLARE_SERIAL和IMPLEMENT_SERAIL宏时,你就在你的类中声明并定义了一个CRuntimeClass类的静态结构成员,该结构中的m_wSchema可以记录你指定的版本号。注意虽然按照命名约定m_wSchema似乎是个WORD,但实际它是个UINT。当串行化输出时,类信息(即类名和版本号的低字,高字是标志)被写入数据文件,而串行化输入时CArchive::ReadClass()和CArchive::ReadObject()根据这些信息以及后面的对象数据重建对象,返回对象指针。这一切均在类似pObject<

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 版本控制 功能 CArchive


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网