- 论坛徽章:
- 0
|
请问,我在看到module_init的宏定义:
<include/linux/init.h> static inline initcall_t __inittest(void) \
{ return initfn; } \
int init_module(void) __attribute__((alias(#initfn)));
其中 static inline initcall_t __inittest(void) \
{ return initfn; } 是对initfn作类型检查,然后我在驱动模块代码中作如下改动:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
int hello_init(void) //此处去掉static
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
经典的hello world程序额,其中我把static int hello_init(void)改为 int hello_init(void),然后make
系统并没有警告,请问是神魔原因? |
|