zoukankan      html  css  js  c++  java
  • __devexit_p的功能

    看驱动的时候,时常会有如下代码:
    .remove = __devexit_p(XX_exit),

    这里的__devexit_p有什么作用呢?
    我在include/linux/init.h中找到了它的定义:

    /* Functions marked as __devexit may be discarded at kernel link time, depending
    on config options. Newer versions of binutils detect references from
    retained sections to discarded sections and flag an error. Pointers to
    __devexit functions must use __devexit_p(function_name), the wrapper will
    insert either the function_name or NULL, depending on the config options.
    */
    #if defined(MODULE) || defined(CONFIG_HOTPLUG)
    #define __devexit_p(x) x
    #else
    #define __devexit_p(x) NULL
    #endif

     

    编译成模块或有热拔插功能时, 就需要exit函数。 否则可以为NULL, 节约空间

  • 相关阅读:
    单页应用 SPA(Sigle Page Aolication)
    初学数据库
    AJAX与跨域
    面向对象
    event、Dom
    HTML DOM Event 对象
    JavaScript RegExp 对象
    UNITY常用插件
    数据分析师
    VBA工作表排序转载
  • 原文地址:https://www.cnblogs.com/cute/p/4673981.html
Copyright © 2011-2022 走看看