warning: ISO C90 forbids mixed declaration

来源:互联网 发布:男生淘宝图片2017 编辑:程序博客网 时间:2024/05/22 07:39

意思:C90 标准禁止混合声明;

一般出现此错误的原因是:声明写在了函数调用命令的后面,改过来就没事;

但在liunx内核编程中,即使所写命令中涉及的变量已经在模块入口函数前声明过,也不能将后续其它变量的声明写在后面;

简单的说就是要书写规范,变量的声明在模块中都最好集中写在模块的最开始的地方;

static int val = 2014;static char * str1 = "Study for yourself!\n";
static int __init ledtest_init(void){
printk(KERN_INFO "Hello,Farsight!\n");printk(KERN_INFO "Say in %d: %s",val, str1);//将这两行转移但声明的后面便可消除警告。
int ret;dev_t devno;struct resource *gpg3_res;

这样做同样会出现上述警告。



0 0
原创粉丝点击