基本原则:
1.全局变量的读写应集中封装。
2.避免使用全局变量作为模块接口。
例:
// 不太好的写法
void *g_KK_HeiHei = Null;
void KK_InitHeiHei(void)
{
if (g_KK_HeiHei == Null) {
// 初始化
g_KK_HeiHei = malloc(size); // 具体略
if (g_KK_HeiHei == Null) {
printf("malloc error\n");
return;
}
}
return;
}
void AA(void){
KK_InitHeiHei(); // 先初始化
void *heihei = g_KK_HeiHei; // 然后直接获取全局变量值
return;
}
// 较好的写法
void *g_KK_HeiHei = Null;
void *KK_InitHeiHei(void)
{
if (g_KK_HeiHei == Null) {
// 初始化
g_KK_HeiHei = malloc(size); // 具体略
if (g_KK_HeiHei == Null) {
printf("malloc error\n");
return NULL;
}
}
return g_KK_HeiHei;
}
void AA(void){
void *heihei = KK_InitHeiHei(); // 直接通过接口获取,较好
return;
}
网友评论