目录
-
原理:多行代码可以缩成一行宏定义,坏习惯--单行if不加大括号
// 定义一个宏INIT_MAIN,实际是两个函数check_ping和start_nginx,而且没有括号 #define INIT_MAIN check_ping(); start_nginx(); if(flag) // 不加大括号的坏习惯 INIT_MAIN;
如上,会导致无论如何都执行start_nginx函数
-
解决方法:加上
do { } while(0);
#define INIT_MAIN do { check_ping(); start_nginx(); } while(0);