分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
- 作者:邹祁峰
- 邮箱:Qifeng.zou.job@hotmail.com
- 博客:http://blog.youkuaiyun.com/qifengzou
- 日期:2012.11.11
- 转载请注明来自"祁峰"的优快云博客
1 优点
一个完整的软件系统往往不止1个模块或功能,而且各模块或功能又有各种版本的实现,为了便于对各模块和功能的管理,在此引入宏开关的概念.宏开关是控制某模块代码或功能的宏,通过宏开关值的修改,可以控制软件系统模块的开启或关闭,或者行为或样式的改变.在使用中可发现,宏开关往往有如下几个优点:
->1 便于移植
在移植过程中,可根据功能宏快速的将功能模块代码进行提取和分离。
->2 增强扩展
可通过宏的开启和关闭来控制此功能开启和关闭,增强了平台的可配置性、可扩展性。
->3 加速问题定位
在软件的运行或测试过程中,往往会出现各种问题,如果怀疑某一模块有问题,可将此功能模块关闭,如果问题消失,则说明问题就在此模块,否则可排除此模块。
->4 提高开发效率
如果未使用功能宏控制时,如果不要此功能时,则需要对代码进行修改、删除等操作,但之后有需要此功能时,又得重新去修改、增加相应的代码。而一旦有功能宏控制,只需将对应的宏开启或关闭就能达到想要的目的,而不用对代码进行任何的修改。
2 实现
随着平台功能的增加,宏开关的数量也随之递增,如果不对宏开关进行统一的管理,将可能造成模块维护的混乱,致使成本也相应的增加.针对此问题的存在,在此提出了宏开关管理模块,实现对宏开关有效的管理.目前通常有2种方法实现宏开关管理模块:
2.1 Makefile实现
->1. 开关设置
// filename: mars_switch.makDEBUG_SUPPORT = TRUEOS_TYPE = AIX
代码1 开关设置
->2. 加载功能宏
// filename: mars_option.makifeq(TRUE, $(s