這篇的對象是 static function,

static function 若沒有其它 function 去存取的話,

在 compile 時,會發生 unused error,

可以在 function 前加上 attribute((unused)) 避免出現 unused error,

但如果 function 本體實作有 error 時,仍會被檢查出來。

Case 1

function 沒有被存取

  1. 1335 static irqreturn_t xxx_handler(int irq, void *data)
  2. 1336 {
  3. 1337 struct smbchg_chip *chip = (struct smbchg_chip *)data;
  4. .....
  5. .....
  1. .....
  2. .....
  3. android/kernel/msm-3.18/drivers/power/qpnp-smbcharger.c:1335:20: warning: 'xxx_handler' defined but not used [-Wunused-function]
  4. error, forbidden warning: qpnp-smbcharger.c:1335
  5. make[3]: *** [drivers/power/qpnp-smbcharger.o] Error 1
  6. make[2]: *** [drivers/power] Error 2
  7. make[1]: *** [drivers] Error 2
  8. make[1]: *** Waiting for unfinished jobs....
  9. .....
  10. .....
  11. .....

Case 2

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

  1. 1335 __attribute__((unused)) static irqreturn_t xxx_handler(int irq, void *data)
  2. 1336 {
  3. 1337 struct smbchg_chip *chip = (struct smbchg_chip *)data;
  4. .....
  5. .....
  6. .....
  1. compile success

Case 3

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

  1. 1335 static _attribute__((unused)) irqreturn_t xxx_handler(int irq, void *data)
  2. 1336 {
  3. 1337 asfadsf
  4. 1338 struct smbchg_chip *chip = (struct smbchg_chip *)data; .....
  5. .....
  6. .....
  1. .....
  2. .....
  3. android/kernel/msm-3.18/drivers/power/qpnp-smbcharger.c:1337:9: error: 'asfadsf' undeclared (first use in this function)
  4. asfadsf
  5. ^
  6. .....
  7. .....

應用時機

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

unused function warning message的更多相关文章

  1. unused function warning message(转)

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

  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. Python编写一个程序求2的次方

    #!/usr/bin/env python3 #-*- coding:utf-8 -*- #":"冒号后面为对参数注释,"->"为对整个函数注释 def ...

  2. Leetcode 515. 在每个树行中找最大值

    题目链接 https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/description/ 题目描述 您需要在二叉树的 ...

  3. POJ 2161 Chandelier(树状DP)

    一.题意 首先是对题目的翻译.给出一个长长的字符串,这个字符串描述了一个吊灯.对于给字符串只有两种操作数——'a'为一个吊灯灯珠,将改灯珠入栈,一位阿拉伯数字K,代表一个环,将把该数字前面k位数都出栈 ...

  4. hdu3374 String Problem 最小最大表示法 最小循环节出现次数

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; int ...

  5. 3、CSS基础 part-1

    1.给body设置颜色 <html> <body text="red"> <p> hello world</p> <p> ...

  6. [python][django学习篇][9]设计正在博客视图(3)

    需求: 真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表,就像 演示项目 里展示的这样.t https://docs.djangoproject.com/en/1.10/ ...

  7. Spring整合hibernate -声明事务管理

     目录 1 sessionFactory 注入HibernateTransactionManager 2 XML配置的配置 3 添加annotation-driven 4 引入JAR包 5在servi ...

  8. js日期处理

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整 ...

  9. SOCK5代理服务器

    SOCK5代理服务器 简单介绍下比较好用的代理服务器,在部署过程中在内外网访问,需要切网比较麻烦,所以可以在互联网区部署sock5代理,通过配置代理切换服务器, 比较方便配置,节省时间. 官网: ht ...

  10. 监视网络接口TCP状态信息数据有多种工具或命令。下面举例一些:

    nstat命令 nstat kernel ======= ss -s == netstat -i netstat -s ip -s link sar -n DEV 1