我使用MS Dev Studio编写C++,我每周工作两天.我使用CVS使我的源在两台计算机之间保持同步,但机器所处的环境之间存在差异.
任何人都可以建议一种方法,我可以有条件地修改我的代码中的常量,这取决于我是否在我的家庭盒子上编译?
我所追求的是一种定义符号的方法,让我们自动称它为_ATHOME,所以我可以这样做:
#ifdef _ATHOME # define TEST_FILES "E:\\Test" # define TEST_SERVER "192.168.0.1" #else # define TEST_FILE "Z:\\Project\\Blah\\Test" # define TEST_SERVER "212.45.68.43" #endif
注意:这当然是出于开发和调试的目的,我绝不会发布像这样的硬编码常量的软件.
在您的家庭和工作机器上,LOCATION
为家庭设置"1"或工作"2" 的环境变量.
然后在预处理器选项中添加预处理器define/DLOCATION = $(LOCATION).这将评估您在环境变量中设置的"home"或"work"字符串.
然后在你的代码中:
#if LOCATION==1 // home #else // work #endif