条件编译
1、条件编译的基本结构
*************************************************************************************************
以打印机为例
#define __PRINTTER1__ 与 #define __PRINTTER2__ 作为切换(二者注释一个)
#if defined(__PRINTTER1__)
程序1 或者 函数1 或者 指令1
#elif defined(__PRINTTER2__)
程序2 或者 函数2 或者 指令2
#endif
************************************************************************************************
2、条件编译实例
#define __PRINTTER_SPRMD8__
//#define __PRINTTER_E42__
#if defined(__PRINTTER_SPRMD8__)
uint8_t nextlineorder[1]={0x0A};
#elif defined(__PRINTTER_E42__)
uint8_t nextlineorder[1]={0x0B};
#endif
3、说明
仅编译“未被注释的那个定义”的相关部分,“被注释的定义”的相关部分不论出现语法问题,逻辑问题,都不影响程序的运行。因为并没有被编译器编译!
若是硬件型号不同,或者不同仪器的基本参数不同,都可以用这种方式解决,避免两份甚至多份代码。