Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Coverity是否会将全局变量视为在嵌入式C中初始化的0?

Coverity是否会将全局变量视为在嵌入式C中初始化的0?
EN

Stack Overflow用户
提问于 2022-04-23 18:40:48
回答 1查看 82关注 0票数 0

在嵌入式C代码中,我们不会显式地将全局变量初始化为0,因为在系统启动时,引导代码会这样做。

在我的代码中有两个全局变量,例如A和B。我的代码保证只要它们有一个零的初始值,A就不会再大于B。

但是当我检查Coverity报告的问题时,假设A可能大于B,似乎Coverity并不认为它们都有一个初始值0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-25 18:11:24

根据Synopsys的答复,Coverity不跟踪全局变量。它从上下文中推断,当变量的值未知时,缺陷是可能的。

这里是一篇参考文章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71985094

复制
相关文章
嵌入式编程是否应该用C++替代C语言
几十年来,嵌入式软件工程师们一直在争论是否应该使用C++替代C语言进行开发工作。根据2019年IEEE和github的市场调查显示,微控制器制造商提供的软件大部分都是由C语言编写。
bigmagic
2020/09/01
2.2K0
在C中,如何知道动态分配是否成功
C语言使用 malloc函数动态在堆上分配内存。malloc根据字节数的参数。如果无法分配内存,该函数将返回指向已分配内存的指针或 NULL 指针。
mariolu
2021/11/06
2.8K0
Arm高管:不会将RISC-V视为重大威胁,但绝对会密切关注!
近年来,RISC-V持续扩张其生态系,不仅在物联网市场大获成功,甚至开始打入了航空市场。近日,RISC-V IP供应商SiFive宣布,将为 NASA打造下一代高效能航天计算(HPSC)核心处理器,该交易金额高达 5000 万美元,可以说是为 RISC-V阵营的发展注入了一剂强心针。面对RISC-V的来势汹汹,Arm近日则表示,虽然 RISC-V 确实带来一些竞争,但仍不是重要的竞争对手。
芯智讯
2022/09/27
1600
Arm高管:不会将RISC-V视为重大威胁,但绝对会密切关注!
C语言位域解析及在嵌入式编程中的应用
位域(或者也能称之为位段,英文表达是 Bit field)是一种数据结构,可以把数据以位元的形式紧凑的存储,并允许程序员对此结构的位元进行操作。这种数据结构的好处是:
wenzid
2021/03/04
1.4K0
C语言位域解析及在嵌入式编程中的应用
嵌入式 C 语言(中)
volatile原意是“易变的”,在嵌入式环境中用volatile关键字声明的变量,在每次对其值进行引用的时候都会从原始地址取值。由于该值“易变”的特性所以,针对其的任何赋值或者获取值操作都会被执行(而不会被优化)。由于这个特性,所以该关键字在嵌入式编译环境中经常用来消除编译器的优化,可以分为以下三种情景:
韦东山
2022/05/05
1.4K0
嵌入式 C 语言(中)
C全局变量
C全局变量 static修饰的静态变量初始化为0 全局变量初始化为0 函数中的变量不初始化随机 auto static 数组未初始化不能全体赋值 指针数组与数组指针 int b[2][3]={1,2,3,4,5,6}; int (*p)[3]=b; printf("%d,\n",*(p[0]+1)); 2, 函数 传参数方式 值传递 行参不影响实参 地址传递 行参形象实参 结构体 #include<stdio.h> #include<string.h> //char *strc
iot-me.club
2022/02/11
1.4K0
C 语言跳转表的实现及在嵌入式设备中的应用
其意思也就是说,跳转表或者也可以被称之为分支表,是一种利用分支或者跳转指令表将程序控制转移到程序另一部分(或者是已经动态加载的其他程序)的方法。关于跳转到程序的另一部分最常用的方法就是使用 switch 语句,但是使用 switch 语句存在的一个弊端就是如果分支过多,会造成程序的冗长,而跳转表刚好能解决这个问题,对于优化程序的结构有很大地帮助。在介绍跳转表之前,笔者在这里先介绍一下跳转表所涉及到的指针数组和函数指针的概念。
wenzid
2021/03/04
1.2K0
C 语言跳转表的实现及在嵌入式设备中的应用
在PHP中如何使用全局变量的方法详解
简介 即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后在文章中我们会具体的讲解到。 使用“global”关键字来申明全局数据的唯一缺点就是它事实上是一种非常差的编程方式,而且经常在其后导致程序中出现更大的问题,因为全局数据把你代码中原本单独的代码段都联系在一起了,这样的后果就是如果你改变其中的某一部
企鹅号小编
2018/02/08
7.8K0
C语言优先级在嵌入式编程中的重要性
最近在弄PIC的一个小项目,之前是前一个同事在原有程序的基础上经行了代码的优化,同时添加了一点新的功能,由于PIC单片机的容量还是相对较小,所以不得不把众多的ADC转换的函数整合到一个函数里,同时又有8位和10位的AD转换功能。
用户4645519
2020/09/07
6590
volatile在嵌入式系统中的用法
今天参加一家公司的嵌入式C语言笔试,其中有道主观题谈到在嵌入式系统中volatile变量的用法。平时学习C语言没怎么用到,只用到过static和extern的变量,很惭愧没答上来。嵌入式C语言笔试经常会出现的题目有:
ccf19881030
2019/05/26
1.6K0
redis在c#中的应用_redis写入数据的同时是否可以读
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
2.4K0
redis在c#中的应用_redis写入数据的同时是否可以读
Android 判断是否在通话中
转载请以链接形式标明出处: 本文出自:103style的博客 最后的判断代码: /** * 是否正在电话通话中 */ private boolean phoneIsInUse() { TelephonyManager mTelephonyManager = (TelephonyManager) activity.getSystemService(Context.TELEPHONY_SERVICE); int state = mTelephonyManager.getCallSt
103style
2022/12/19
1.4K0
配置是否初始化Bean的方法
在Spring Boot:定制自己的starter一文提到,只要DbCountRunner这个类在classpath路径下,Spring Boot会自动创建对应的spring bean并添加到应用程序上下文中。
阿杜
2018/08/06
9000
配置是否初始化Bean的方法
PyCharm:设置是否在SciView中绘图
https://blog.csdn.net/qq_15969343/article/details/126107252
全栈程序员站长
2022/09/27
3.3K0
PyCharm:设置是否在SciView中绘图
java定义数组变量初始化为0_java中怎么数组初始化?
//数组定义最方便的就是用for循环来做定义,数组下标是从e69da5e6ba9062616964757a686964616f313333656462620开始,到11的话就是12个数字。要输出的话可以用以//号注释掉的后面的一句if(i<12){System.out.println(x[i]);}当然也可以自己再写一个for循环语句来输出,不过我觉得这有点画蛇添足了
全栈程序员站长
2022/09/27
1.4K0
C++中变量自动初始化的问题
C++中有一些变量在如果没有赋初值会被编译器自动赋值为0,但有的变量又不会这样,而得到一个随机数,下面具体讨论一下: 首先看一下C++中的几个存储区: 1、栈区:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。     2、堆区:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。     3、全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静
用户1215536
2018/02/05
1.5K0
JAVA中全局变量
java中的全局变量是由public修饰的static成员变量,形如public static int ID; java中的全局变量是放在静态方法区中的,所有的实例对象会共享同一份全局变量。所以一旦对某个类实例化后对其中的全局变量做出修改,那么其他的实例其中的全局变量值也相应的会被修改。 定义了一个测试类如下:
全栈程序员站长
2022/07/22
1.7K0
JAVA中全局变量
union 的概念及在嵌入式编程中的应用
union 在中文的叫法中又被称为共用体,联合或者联合体,它定义的方式与 struct 是相同的,但是意义却与 struct 完全不同,下面是 union 的定义格式:
wenzid
2021/03/04
8650
union 的概念及在嵌入式编程中的应用
在c语言里0和1表示什么_’0’是什么意思c语言
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/06
2.6K0
点击加载更多

相似问题

在php中,0是否被视为空?

13120

是否保证全局变量总是使用c99初始化为0?

49

Coverity。配置coverity以检查声明的变量在用作指针之前是否已初始化

23

在嵌入式系统编程(C)中,全局变量是否被反对?

11

Javascript中的导出变量是否被视为全局变量?

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档