在编译linux设备驱动时,遇到警告,但模块成功编译。想问一下是什么导致编译时出现警告。
把没有用到的宏定义全屏蔽掉
【相关推荐】
void fun()
{
int x = 0;
static int num = 0;
for (int i = 0; i < 5; i++)
{
x++;
num++;
}
printf("x = %d num = %d\n", x, num);
}
x = 5 num = 5
x = 5 num = 10
x输出结果相同,num的不同。
使用static修饰符定义静态局部变量,它的生命周期是整个应用程序的运行时间,它只会被初始化一次。每次调用fun()都会在num原有的基础上再加5,而x每次都是从0加到5