当前位置: 技术问答>linux和unix
内核中_init问题!
来源: 互联网 发布时间:2016-04-30
本文导语: 在目录drivers/char/random.c中,有: static int _init bath_entropy_init(int size,struct entropy_store *r) 其中:_init 标记是什么意思呢? 他是在哪里定义的? | 可以看看内核头文件: include/linux/init.h __init 是一...
在目录drivers/char/random.c中,有:
static int _init bath_entropy_init(int size,struct entropy_store *r)
其中:_init 标记是什么意思呢?
他是在哪里定义的?
static int _init bath_entropy_init(int size,struct entropy_store *r)
其中:_init 标记是什么意思呢?
他是在哪里定义的?
|
可以看看内核头文件: include/linux/init.h
__init 是一个宏定义,类似定义如下:
#define __init __section(.init.text)
表示将 __init修饰的函数在编译的时侯放到 .init.text节(关于节(section)的定义,可以看看ELF的格式)。
good luck!
__init 是一个宏定义,类似定义如下:
#define __init __section(.init.text)
表示将 __init修饰的函数在编译的时侯放到 .init.text节(关于节(section)的定义,可以看看ELF的格式)。
good luck!
|
这个是驱动模块加载时调用的程序,同样的,卸载模块是调用的程序前面有__exit标志。看多了就习惯了,哈
|
帮up