有时候我们做软件会有多个版本,比如说一个产品分为企业版、个人版,里面只有部分内容有区别,而大部分的业务逻辑都是相同的。这时候我们可以利用宏来控制程序的版本。比如说产品的IP地址分为开发环境、测试环境和生产环境,不同环境下的IP地址是不同的,就可以这样控制。
//环境定义
#define ENVIRONMENT 0 //0:开发环境 1:测试环境 2:生产环境
#if ENVIRONMENT == 0
QString registerWeb = "http://xxx.xxx.xxx.xxx"; //注册网址
QString InitWeb = "http://xxx.xxx.xxx.xxx"; //初始化服务器网址
#elif ENVIRONMENT == 1
QString registerWeb = "http://xxx.xxx.xxx.xxx"; //注册网址
QString InitWeb = "http://xxx.xxx.xxx.xxx"; //初始化服务器网址
#else
QString registerWeb = "http://xxx.xxx.xxx.xxx"; //注册网址
QString InitWeb = "http://xxx.xxx.xxx.xxx"; //初始化服务器网址
#endif
这样通过改变#define就可以简单快捷的改变当前环境。
另外也可以用枚举变量来控制版本,比如
enum
{
Version_Company = 0, //企业版本
Version_Individual //个人版本
};
再定义一个成员变量
int m_Version
if (m_Version == Version_Company)
{
xxxx
}
else
{
xxxxx
}
这样不同的版本就有不同的代码来控制