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

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

●◇●◇献给初学者: 巧妙使用VC编译器。为你的软件分多个版本●◎◇●◇

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网

如果你的程序分为多个版本,比如 网络和个人,  网络版需要用到网络函数, 但是个人版就不需要,如果你用if语句判断一个版本标志是否用网络函数(比如 send(...))这样对程序是比较消耗cpu时间的

我已开始用的方法是:

//#define SOFT_VERSION   SOFT_VERSION_NETWORK //每次要编译的时候,就到这里来修改
//#define SOFT_VERSION_NETWORK 0
//#define SOFT_VERSION_PERSONAL  1

在程序里判断:
if (SOFT_VERSION == SOFT_VERSION_NETWORK)
{
网络函数
}


这种方法有个不好的地方,有时你会忘记 去改 #define SOFT_VERSION 的值。(我就经常忘记,然后在客户哪里打电话,告诉我的同事帮我修改再发给我,然后我又得到网吧去下载,...泰罗嗦了:)

今天早晨准备提个问题,看能不能找到更好的办法, 不过在提问题的时候,我发现这句话:

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

-----------------------------------------------
VC就是这么区分调试版本和发布版本?
我打开 project->setting->c/c++, 在 project option 里面发现 有这个/D "_DEBUG", 然后再msdn翻译了/D的作用, 顿时恍然大悟。

所以我想在的办法是

1、在 Set Actinve Config 里面增加四个 单机版的调试和发布,  网络版的调试和发布。 可以用汉字的哦。单机\网络的调试版从调试版copy过来. 发布版本从发布版copy过来。

2、在 project->setting->c/c++, 在 project option 里面增加:自己的宏定义,比如我的:  网络版:/D "SOFT_VERSION_NETWORK" .  个人版:/D "SOFT_VERSION_PERSONAL"

3、再者:在源程序需要用到网络的地方这么表达就可以了
#ifdef SOFT_VERSION_NETWORK
//网络函数
#endif

好了,你下次要编译, 使用 Batch B&uild... 吧!  你还可以自己扩展

---------------------------本文属于自己的摸索,还有好多高手都会这些,我只不过把它写出来给初学者看看,让他们少走些湾路-----------------

谢谢观赏!

 

 


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


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

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