开发环境:Window10 + MDK + STM32F407
实现目的:针对在函数内部需要对各个执行的子函数判断错误返回的场合,用宏定义替换繁琐的编码
代码实现:
1 /* 这种写法怎样 注册宏定义,故障返回批量处理 注册函数不能写在线程内部 */ 2 #define ET_(...) if (!__VA_ARGS__) \ 3 { \ 4 Log("%s Error Return\r\n", __func__); \ 5 return false; \ 6 } \ 7 8 /* 注册自带错误返回的函数接口 如果返回值false,所在的函数也会退出并返回false */ 9 #define etValveCtrl(...) ET_(aMachine_SetValveState(__VA_ARGS__)) 10 #define etInjector_Pop(...) ET_(Injector_Pop(__VA_ARGS__)) 11 #define etInjector_Push(...) ET_(Injector_Psh(__VA_ARGS__)) 12 #define etINjector_Store(...) ET_(INjector_Store(__VA_ARGS__))
1、封装返回的固定模式,支持不定长参数。
2、封装具体函数实例。