San*_*ndy 6 operating-system kernel kernel-module linux-device-driver
如果在初始化和退出模块中使用__init和__exit属性会发生什么,如果我不使用它们会发生什么.示例如下所示.
使用属性
static __init int myinit(void)
{}
static __exit void myexit(void)
{}
Run Code Online (Sandbox Code Playgroud)
Witout属性
static int myinit(void)
{}
static void myexit(void)
{}
Run Code Online (Sandbox Code Playgroud)
@Sandy,__ init宏导致init函数完成内置驱动程序后,将放弃init函数并释放其内存(vmalloc)。当模块内置在内核中时,__ exit宏会导致该功能被忽略。__init和__exit都不适合LKM。还要通过这些链接 __init在Linux内核代码中是什么意思? http://amar-techbits.blogspot.in/2012/08/understanding-macro-init-and-exit-in.html