如果你的程序分为多个版本,比如 网络和个人, 网络版需要用到网络函数, 但是个人版就不需要,如果你用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... 吧! 你还可以自己扩展
---------------------------本文属于自己的摸索,还有好多高手都会这些,我只不过把它写出来给初学者看看,让他们少走些湾路-----------------
谢谢观赏!