您的位置:首页 > 运维架构 > Linux

linux驱动中出错function declaration isn't a prototype

2010-09-15 19:24 429 查看
出现此警告原因:

1: 函数没有声明。在你调用的这个函数前面加上该函数的定义即可。

main()
{
test();
}

test (int a)
{
printf("test: %d/n", a);
}

这个代码中如果在main函数前面加上“test (int a);”就可以正确运行了

2:

#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>

static int hello_init_module(void)
{
printk("Hello, world - this is the kernel speaking/n");
return 0;
}

/* Cleanup - undid whatever init_module did */
static void hello_cleanup_module(void)
{
printk("Short is the life of a kernel module/n");
}
module_init(hello_init_module);
module_exit(hello_cleanup_module);

上面代码是内核中的一个模块, 如果 static int hello_init_module(void) 括号里面没有加void就会出现此警告。

加上void 就能够编译通过了~~·

这是为什么呢????
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐