嵌入式:关于Linux下_init与_exit的解释

来源:本站
导读:目前正在解读《嵌入式:关于Linux下_init与_exit的解释》的相关信息,《嵌入式:关于Linux下_init与_exit的解释》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《嵌入式:关于Linux下_init与_exit的解释》的详细说明。
简介:嵌入式:关于Linux下_init与_exit的解释

原始定义:include/linux/init.h

#define __init __attribute__ ((__section__ (".init.text")))

#define __initdata __attribute__ ((__section__ (".init.data")))

#define __exitdata __attribute__ ((__section__(".exit.data")))

#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))

#ifdef MODULE

#define __exit __attribute__ ((__section__(".exit.text")))

#else

#define __exit __attribute_used__ __attribute__ ((__section__(".exit.text")))

#endif__init和__exit标记函数,__initdata和__exitdata标记数据。

此宏定义可知标记后的函数与数据其实是放到了特定的(代码或数据)段中。

标记为初始化的函数,表明该函数供在初始化期间使用。

在模块装载之后,模块装载就会将初始化函数扔掉。这样可以将该函数占用的内存释放出来。

__exit修饰词标记函数只在模块卸载时使用。

如果模块被直接编进内核则该函数就不会被调用。如果内核编译时没有包含该模块,则此标记的函数将被简单地丢弃。

提醒:《嵌入式:关于Linux下_init与_exit的解释》最后刷新时间 2024-03-14 01:06:55,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《嵌入式:关于Linux下_init与_exit的解释》该内容的真实性请自行鉴别。