这个判断用宏来实现，下面的代码也是