C语言中对函数圈复杂度的计算会算上以下两种分支吗?
(1)会不会算上宏的分支?如下增加了一个if宏判断,圈复杂度会+1吗?
//原代码段
a = 10;
//增加了宏分支的
#if IS_ENABLE(XXXX_MODULE_CONFIG)
a = 10;
#else
a = 5;
#endif
(2)会不会算上goto语句的分支?如下增加一个goto语句,圈复杂度会+1吗?
//原代码段
if (x) {
y = 0;
goto remove_dev;
}
remove_dev:
xxxxxxx;
//增加了goto的代码段
if (x) {
y = 0;
goto remove_dev;
}
if (m) {
n = 0;
goto free_table;
}
free_table:
//语句省略
remove_dev:
//语句省略