当前位置: 技术问答>linux和unix
__exit和__init的迷惑
来源: 互联网 发布时间:2017-02-11
本文导语: 1) __init:是内建模块的时候,初始化会使用到,用完之后就释放内存空间。当编译成模块时,insmod肯定也要用到,但是不会把函数占用的内存释放??? 2) __exit:是内建模块的时候,肯定不会用到,因为根本就...
1) __init:是内建模块的时候,初始化会使用到,用完之后就释放内存空间。当编译成模块时,insmod肯定也要用到,但是不会把函数占用的内存释放???
2) __exit:是内建模块的时候,肯定不会用到,因为根本就不要去卸载该模块。当编译成模块时,rmmod的时候,要调用吗???
请各位大侠指教下,谢谢
2) __exit:是内建模块的时候,肯定不会用到,因为根本就不要去卸载该模块。当编译成模块时,rmmod的时候,要调用吗???
请各位大侠指教下,谢谢
|
#ifdef MODULE
#define __exitused
#else
#define __exitused __used
#endif
#define __exit __section(.exit.text) __exitused __cold
/**
* module_exit() - driver exit entry point
* @x: function to be run when driver is removed
*
* module_exit() will wrap the driver clean-up code
* with cleanup_module() when used with rmmod when
* the driver is a module. If the driver is statically
* compiled into the kernel, module_exit() has no effect.
* There can only be one per module.
*/
根据init.h里的内容,__exit在模块时,肯定会调用的
#define __exitused
#else
#define __exitused __used
#endif
#define __exit __section(.exit.text) __exitused __cold
/**
* module_exit() - driver exit entry point
* @x: function to be run when driver is removed
*
* module_exit() will wrap the driver clean-up code
* with cleanup_module() when used with rmmod when
* the driver is a module. If the driver is statically
* compiled into the kernel, module_exit() has no effect.
* There can only be one per module.
*/
根据init.h里的内容,__exit在模块时,肯定会调用的
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。