checkpatch海思SDK代码遇见的常见错误《一》

2023-10-30

01)WARNING:AVOID_EXTERNS: externs should be avoided in .c files
#3: FILE: sample/region/sample_region.c:3:
+extern "C" {

-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif
-#endif /* End of #ifdef __cplusplus */
-

02)ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar"

指针的星要紧跟变量名称,而不是变量类型。

03)WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline

换行符之前没必要加空格。

04)WARNING:RETURN_VOID: void function return statements are not generally useful

void型函数,无需返回值。

 这可是海思SDK里面的代码,看来海思也是有进步不小空间的。

05)WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines

注释块,其他行要以星*开头。

06)ERROR:OPEN_BRACE: that open brace { should be on the previous line

这个大括号要移到上面一行去跟if到同一行。

07)WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 12)

 if里面的代码每行前面两个TAB键。

08)ERROR:SPACING: spaces required around that '=' (ctx:VxV)

 等号、小于号前后要有空格。

09)ERROR:SPACING: space required before the open parenthesis '('

 

10)WARNING:LINE_SPACING: Missing a blank line after declarations

声明和代码实体要有空格分开。

11)WARNING:BRACES: braces {} are not necessary for single statement blocks

只有一行语句的,没必要大括号包围:)

12)ERROR:RETURN_PARENTHESES:return is not a function, parentheses are not required

13)ERROR:SWITCH_CASE_INDENT_LEVEL: switch and case should be at the same indent

 就是说switch和case是齐头并进的,一样的缩进。

14) ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)

就是这个星前后都要间隔空格。

15)WARNING:BRACES: braces {} are not necessary for any arm of this statement

单句的,就不需要用大括号包起来。

 16)WARNING:SPACING: space prohibited before semicolon

 

 就是结尾的分号前不能有空格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

checkpatch海思SDK代码遇见的常见错误《一》 的相关文章

  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • C - 为什么我无法映射较小(256UL 或更小)的内存?

    请告诉我 为什么我的简单应用程序无法映射较小的内存 而且 为什么有这样一个特定的边界 257UL define MAP SIZE 256UL or below fail define MAP SIZE 257UL ok include
  • 从c调用汇编函数

    我试图从 c 调用汇编函数 但我不断收到错误 text globl integrate type integrate function integrate push ebp mov esp ebp mov 0 edi start loop
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • Linux“屏幕”的 Windows 等效项还是其他替代方案?

    我正在寻找一种在 Windows 环境中控制程序的方法 我希望它与 Linux 软件有点相似 screen 我搜索的原因是我需要使用标识符启动一个程序 在 Windows 上 这样我以后就能够关闭该特定程序 而无需关闭其他任何程序 即使实际
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 使用 gcc 理解共享库

    我试图理解 C 中共享库的以下行为 机器一 cat one c include
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • 在 debian wheezy amd64 上安装 ia32-libs

    我正在使用 Debian 7 喘息 amd64 uname a Linux tzwm debian 3 2 0 4 amd64 1 SMP Debian 3 2 51 1 x86 64 GNU Linux 我想安装ia32 libs在我的
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j

随机推荐

  • c, cs, vala 性能简单测试

    分别用c cs 和 vala 完成同样的运算 Code include
  • matlab sum函数_Matlab: 如何对矩阵的部分行/列求和

    Matlab里的sum函数可以用于求和 先简单来介绍一下sum函数 对一个矩阵A而言 1 sum A all 对矩阵A的所有元素进行求和 返回的是一个标量 2 sum A 1 对矩阵A的每一列进行求和 返回的是一个行向量 3 sum A 2
  • 哈工大2020软件构造Lab4实验报告

    为了鄙视代写 抄袭 伸手党 删除了一些 容易抄袭 的部分 有问题 询问省略部分 欢迎QQ交流 本项目于5 19日实验课完成 该更新的 更新完成 如果有所参考 请点点关注 点点赞GitHub Follow一下谢谢 2020春计算机学院 软件构
  • Python安装教程

    本文主要介绍Windows下Python的安装步骤 1 打开官网www python org 选择Downloads 进入下载界面 2 选择需要下载的Python版本号 点击Download 我选择的Python版本为3 9 6 3 点击D
  • 计算机考研复试操作系统题库

    文章目录 1 什么是操作系统 操作系统的主要功能是 它的主要特征是什么 重点 2 进程与线程的关系以及区别 重点 3 Windows下的内存是如何管理的 简单了解即可 4 中断和轮询的特点 5 什么是临界区 如何解决冲突 什么叫临界资源 6
  • JDBC基础

    1 JDBC概述 在开发中我们使用的是java语言 那么势必要通过java语言操作数据库中的数据 1 1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API 全称 Java DataBase Connectivity
  • 踏浪点神:新手该如何避免频繁重仓交易?

    期货市场中最忌讳的就是让情绪影响交易 但很多人却又很难避免这一点 其中表现最为突出的就是频繁操作了 自信地以为 多劳多得 近乎疯狂地买卖 满脑子的愤怒都急切地想要通过 自杀 的方式得以宣泄 这就是所谓的 交易失控 大多数人在事后冷静下来了都
  • K8S内容分发网络之集群,nginx,负载均衡,防火墙

    目录 第一章 实验架构需求 第二章 实验环境准备 2 1 节点准备 2 2 环境准备 2 3 在master node01 node02上操作安装docker 2 4 所有节点安装kubeadm kubelet和kubectl 2 5 部署
  • 使用dplyr包中的rename函数重命名R语言数据框中的指定列

    使用dplyr包中的rename函数重命名R语言数据框中的指定列 在R语言中 dplyr包提供了一组功能强大且易于使用的函数 用于对数据进行操作和转换 其中 rename函数可以用于重命名数据框中的指定列 本文将介绍如何使用dplyr包中的
  • DVWA(七) - 使用python脚本实现SQL盲注

    SQL Injection Blind sql盲注其实就是sql注入的一种 但是不会根据sql注入的攻击语句返回你想要知道的信息 盲注分为两种 布尔盲注以及时间盲注 布尔盲注 根据你的注入信息返回True和Fales 而返回的True和Fa
  • 【Java入门学习笔记】——第六天 import语句,类的访问控制权限问题,对象数组

    Q 怎样使用import语句 A import语句的作用如下 1 引入类库中的类 2 引入自定义包中的类 需要把程序使用的自定义的包名所形成的目录都放在同一文件夹中 Example01 所有包名形成的目录都要放在Example01中 stu
  • 职业素质学习心得

    名言 1 古之立大事者 不惟有超世之才 必有坚韧不拔之志 2 摒弃侥幸之念 必取百炼成刚 厚积分秒之功 始得一鸣惊人 一 心态决定一切 如果你有一个梦想 维护她 坚守她 实现她 企业招聘看重两个方面 心态 积极 能力 强大 公司待遇衡量标准
  • iOS反编译修改ipa的启动图

    启动图制作脚本点击此获取 步骤一 先创建一个iOS项目 并制作启动图 点击获取教程链接 步骤二 运行上述创建的项目 将会在Products目录得到一个xx app 右键选择 Show in Finder 再右键选择 显示包内容 取出Laun
  • C++11 之列表初始化

    在 c 98 03 中的对象初始化方法有很多种 请看下面的代码 初始化列表 int i arr 3 1 2 3 普通数组 struct A int x struct B int i int j b a 1 2 3 POD 类型即 plain
  • Memcache介绍及安装部署

    Memcache 官网 http memcached org 1 Memcache 的特性 1 可以通过做集群同步的方式 让各 memcache 服务器的数据进行同步 从而实现数据的一致性 2 memcached使用libevent库 能在
  • 国庆7天没休息,我用17张图画明白了SpringCloudAlibaba

    大家好 今天给大家介绍一个非常热门的技术 同时也是面试的时候面试官特别喜欢问的一个话题 那就是 SpringCloudAlibaba 的底层原理 现在大家都知道 SpringCloudAlibaba 风靡 Java 开发行业 各个公司都在用
  • pycharm导入第三方库

    第一步 点击文件按钮 第二步 点击设置 第三步 选择项目 python解释器 第四步 点击右侧栏的 第五步 输入要导入的库 进行搜索 第六步 点击安装包 等待安装完成即可
  • 基于springboot+vue的开源mes系统

    真正的大师 永远都怀着一颗学徒的心 一 项目简介 基于springboot vue的开源mes系统 二 实现功能 常规管理 现场数据采集 系统管理 菜单管理 用户管理 日志管理 角色管理 基础数据配置平台 基础数据维护 物料管理 物料台账
  • 程序员常去的个顶级开发社区

    程序员常去的个顶级开发社区 Stack Overflow 9月份 Stack Overflow也将迎来其6岁的生日 毫无疑问 Stack Overflow是全球最受程序员欢迎的开发社区 而且也是内容最丰富的社区之一 官方网站 http st
  • checkpatch海思SDK代码遇见的常见错误《一》

    01 WARNING AVOID EXTERNS externs should be avoided in c files 3 FILE sample region sample region c 3 extern C ifdef cplu