這篇的對象是 static function,
static function 若沒有其它 function 去存取的話,
在 compile 時,會發生 unused error,
可以在 function 前加上 attribute((unused)) 避免出現 unused error,
但如果 function 本體實作有 error 時,仍會被檢查出來。

Case 1

function 沒有被存取

 static irqreturn_t xxx_handler(int irq, void *data)
{
struct smbchg_chip *chip = (struct smbchg_chip *)data;
.....
.....
.....
.....
android/kernel/msm-3.18/drivers/power/qpnp-smbcharger.c::: warning: 'xxx_handler' defined but not used [-Wunused-function]
error, forbidden warning: qpnp-smbcharger.c:
make[]: *** [drivers/power/qpnp-smbcharger.o] Error
make[]: *** [drivers/power] Error
make[]: *** [drivers] Error
make[]: *** Waiting for unfinished jobs....
.....
.....
.....

Case 2

function 沒有被存取 且 加上 attribute((unused))

 __attribute__((unused)) static irqreturn_t xxx_handler(int irq, void *data)
{
struct smbchg_chip *chip = (struct smbchg_chip *)data;
.....
.....
.....
compile success

Case 3

function 沒有被存取 且 加上 attribute((unused)) 且 function 本體有 error

 static _attribute__((unused)) irqreturn_t xxx_handler(int irq, void *data)
{
asfadsf
struct smbchg_chip *chip = (struct smbchg_chip *)data; .....
.....
.....
.....
.....
android/kernel/msm-3.18/drivers/power/qpnp-smbcharger.c::: error: 'asfadsf' undeclared (first use in this function)
asfadsf
^
.....
.....

應用時機

當 coder 尚在 實作 function 本體,並想檢查是否有錯誤時,可以使用

转自:https://www.cnblogs.com/youchihwang/p/8986370.html

unused function warning message(转)的更多相关文章

  1. unused function warning message

    這篇的對象是 static function, static function 若沒有其它 function 去存取的話, 在 compile 時,會發生 unused error, 可以在 func ...

  2. 【charger battery 充電 充電器 電池】過充保護警告訊息 over charging protection,Battery over voltage protection, warning message

    Definition: over charging protection.battery over voltage protection, 是一種 battery 保護機制, 避免 battery 充 ...

  3. R语言采坑系列——Warning message: In validDetails.polygon(x) : 强制改变过程中产生了NA

    用ggplot2的geom_density_2d时,总是不能填充图案,并报错: Warning message: In validDetails.polygon(x) : 强制改变过程中产生了NA 解 ...

  4. 過充保護警告訊息 over charging protection,Battery over voltage protection, warning message

    Definition: over charging protection.battery over voltage protection, 是一種 battery 保護機制, 避免 battery 充 ...

  5. Charger Battery Warning Message 的 改善

    今天與人聊到有關 charger battery safety 的 warning message, 認為說 warning message 真的有起到 保護 user 的作用? 譬如: batter ...

  6. QS之warning message

    Multiple message categories are specified as a comma separated list.

  7. Charger Warning Message

    使用 PMIC_RGS_VCDT_HV_DET 判斷 charger 是否有 ovp. LV_VTH : 4.15V

  8. make only output error/warning message( 编译时,只输出错误信息和警告信息)

    make > /dev/null 这样,正常的信息被重定向输出到/dev/null,错误和警告信息会输出到标准错误设备(standard error,相对于标准输入/输出设备来说).

  9. PHP日志记录规范PSR-3

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

随机推荐

  1. linux技能点 一

    vmware  workstation:安装时永久性密钥   5A02H-AU243-TZJ49-GTC7K-3C61N  linux技能点:系统管理,网络管理,文件操作,用户管理,文件权限,软件管理 ...

  2. 最佳移动端h5自适应rem适配方案

    一.利用lib-flexible.postcss-plugin-px2rem插件 进行移动端rem适配. 1.第一 引入lib-flexible . 安装lib-flexible: npm i lib ...

  3. iframe页面script交互

    主页面: <html> <tr> <td> <div id=RightViewDiv> <iframe name=SubSeekFrame sty ...

  4. uuid简述

    什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符,参考RFC规范-RFC4122. UU ...

  5. web页面死链测试方法

    一.概述 > 来自百度百科释义 死链:指服务器的地址已经改变了.无法找到当前地址位置,包括协议死链和内容死链两种形式.死链出现的原因有网站服务器设置错误:某文件夹名称修改,路径错误链接变成死链等 ...

  6. 将mysql从MyISAM更改为INNODB

    今天更新django中的表字段,由于mysql从5.1升级到5.7.以前的外键关联必须从MYISAM改新为INNODB才可以继续. 过程有点刺激,但还好,只要想清楚了过程,提前作好备份,就没啥大问题. ...

  7. expect工具实现脚本的自动交互

    1 安装expect工具 expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是: spawn启动指定进程 -> ...

  8. Spring容器、BeanFactory和ApplicationContext,及3种装配Bean的方式

    目录 一. spring容器理解 二. BeanFactory和ApplicationContext之间的关系 三. BeanFactory详情介绍 四.ApplicationContext介绍 五. ...

  9. 10. vue-router命名路由

    命名路由的配置规则 为了更加方便的表示路由的路径,可以给路由规则起一个别名, 即为"命名路由". const router = new VueRouter ({ routes: [ ...

  10. Dubbo源码分析:ChannelHandler

    背景 一个请求经过序列化二进制数据转化成对象之后.请求进入netty框架,netty框架经过业务处理把主动权转交给NettyHandler对象.NettyHandler进入ChannelHandler ...