C:warning: null argument where non-null required (argument 2) [-Wnonnull]

main.c:950:32: warning: null argument where non-null required (argument 2) [-Wnonnull]
这个意思说,函数定义里面由一个attribute,标记第二个参数不能为空。

warning.c:25:2: warning: null argument where non-null required (argument 2) [-Wnonnull]
memcmp(&xia, 0, 0);
比如这个memcmp的第一个和第二个参数;
glibc的定义(string.h)如下:

/* Compare N bytes of S1 and S2.  */
extern int memcmp (const void *__s1, const void *__s2, size_t __n)__THROW __attribute_pure__ __nonnull ((1, 2));

为什么要加这个属性?根据源代码看的话,就是在第三个参数不为0的情况下,如果s1和s2有一个是null,那么就会发生SegV。注意是给开发者一个提示,避免问题的发生。

commit be27d08c05911a658949ba7b84f4321a65a2dbf4 (tag: cvs/fedora-glibc-20040923T0148)
Author: Ulrich Drepper <drepper@redhat.com>
Date:   Wed Sep 22 08:20:57 2004 +0000Update.2004-09-22  Ulrich Drepper  <drepper@redhat.com>* string/string.h: Add __nonnull annotations.* stdlib/stdlib.h: Likewise.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是热阻?

电流流过导体时&#xff0c;在导体两端会产生电压差&#xff0c;这个电压差除以流过导体的电流就是这个导体的电阻&#xff0c;单位是欧姆。这就是欧姆定律&#xff0c;大家都知道的东西。 当热源的热量在物体中传递时&#xff0c;在物体上也会产生温度差&#xff0c;这个温度差…

UE4 UltrDynamicSky与场景物体进行交互

找到材质 找到其最父类的材质 把这个拖过去连上即可

Canal

目录 一、认识Canal二、安装和配置Canal1、安装mysql2.开启MySQL主从3.安装Canal 三、监听Canal1.引入依赖&#xff1a;2.编写配置&#xff1a;3.修改Item实体类4.编写监听器 学习Redis 高级篇多级缓存【缓存同步】时&#xff0c;相关canal的知识 一、认识Canal Canal [kə’…

MySQL的自增id会用完吗?用完怎么办?

MySQL作为最常用的关系型数据库&#xff0c;无论是在应用还是在面试中都是必须掌握的技能。 目录 一、MySQL自增主键会用完吗 二、MySQL自增主键用完会怎样 1.程序员自己设置的自增主键 2.程序员没有设置自增主键&#xff0c;mysql自动创建row_id 三、mysql中还有哪些自增…

2023年Q3季度国内手机大盘销额下滑2%,TOP品牌销售数据分析

根据Canalys机构发布的最新报告&#xff0c;2023年第三季度&#xff0c;全球智能手机市场出货量仅下跌1%&#xff0c;可以认为目前全球手机市场的下滑势头有所减缓。而国内线上市场的表现也类似。 根据鲸参谋数据显示&#xff0c;今年Q3京东平台手机累计销量约1100万件&#xf…

买卖股票的最佳时机 II[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个整数数组prices&#xff0c;其中prices[i]表示某支股票第i天的价格。在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买&#xff0c;然后在同一天出售。返回你能获得…

第十六届中国智慧城市大会 | 国产化三维重建技术服务智慧城市建设

2023年10月13日&#xff0c;由武汉大势智慧科技有限公司、飞燕航空遥感技术有限公司主办的第十六届智慧城市大会-实景三维技术创新与应用论坛在广州成功举办。 来自实景三维、自然资源、数字孪生、AI大数据、航空遥感等多个领域的专家&#xff0c;深度分享各自的智慧城市建设经…

vue3后台管理系统之layout组件的搭建

1.1静态布局 <template><div class"layout_container"><!-- 左侧导航 --><div class"layout_slider"></div><!-- 顶部导航 --><div class"layout_tabbar"></div><!-- 内容展示区 --><…

Swager如何使用

Swager是一个API文档自动生成工具&#xff0c;可以用于生成API接口文档&#xff0c;供开发者和用户查看和使用。它可以通过描述API接口的规范&#xff0c;自动生成API文档&#xff0c;使得API接口的发布和使用变得更加简单和规范。 下面是使用Swagger的步骤&#xff1a; 首先…

C# LINQ常用操作方法——提升你的编程效率

导语&#xff1a;C# LINQ&#xff08;Language Integrated Query&#xff09;是一种强大且灵活的查询语言&#xff0c;可以将数据查询、过滤、排序和转换等操作无缝集成到C#代码中。本文将介绍一些常用的LINQ操作方法&#xff0c;帮助熟练掌握LINQ的使用&#xff0c;并进一步提…

Python 中,单例模式的5种实现方式(使用模块、使用装饰器、使用类方法、基于new方法实现、基于metaclass方式实现)

单例模式的5种实现方式 1 使用模块 2 使用装饰器 3 使用类方法 4.基于new方法实现 5 基于metaclass方式实现 单例模式的5种实现方式 什么是单例模式&#xff1f; 单例模式是指&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点# 线程1 执行&#x…

王道计算机考研 操作系统学习笔记篇章二: 进程管理

目录 进程与线程 进程的概念 概念 进程的组成 PCB 程序段、数据段 进程的特征 总结 进程的状态与转换 进程的状态 创建态、就绪态 运行态 阻塞态 终止态 进程的转换 进程的组织 链接方式 索引方式 总结 进程控制 什么是进程控制 如何实现进程控制 进程控制相关的原…

SpringBoot整合WebSocket实战演练——Java入职十三天

前言 本文将介绍如何在Spring Boot应用程序中使用WebSocket实现服务端向客户端推送消息。Spring Boot和WebSocket的整合实现服务端向客户端推送消息,使得客户端能够实时接收并处理服务器发来的信息。WebSocket协议是一种双向通信的网络协议,使得客户端和服务器能够建立持久连…

pycharm远程连接miniconda完整过程,以及遇到的问题解决

问题1&#xff1a;no-zero exit code(126) env: ‘/home/user2/miniconda3/envs/ihan/bin/python3’: Too many levels of symbolic links Python interpreter process exited with a non-zero exit code 126 因为选择的新建导致太多软连接&#xff0c;先在服务器上建好虚拟环…

链式队列----数据结构

队列的基本概念 队列是一种操作受限的线性表&#xff08;先进先出&#xff09;&#xff0c;只允许在队尾插入&#xff0c;队头删除。 例如去银行办理业务&#xff0c;肯定是先来的先出去&#xff0c;后来的人排在后方&#xff0c;只有第一个人业务办理完了&#xff0c;才会有…

使用Portainer图形化工具轻松管理远程Docker环境并实现远程访问

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 Portainer 是一个轻量级的容器管理工具&#xff0c;可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可…

策略模式——多重if-else解决方案

概念 大量的 if 判断操作&#xff0c;逻辑比较复杂&#xff0c;并且处理起来相对麻烦。可以采用策略模式来优化分支代码。 策略模式 &#x1f4a4;&#xff1a;是一种行为设计模式&#xff0c;它允许你在运行时根据不同情况选择不同的算法或行为。 设计模式 &#x1f90c;&…

solidworks 2024新功能之--保存为低版本 硕迪科技

大家期盼已久的SOLIDWORKS保存低版本文件功能来了&#xff0c;从SOLIDWORKS 2024 开始&#xff0c;您可以将在最新版本的SOLIDWORKS 中创建的SOLIDWORKS零件、装配体和工程图另存为SOLIDWORKS 早期版本的全功能文档&#xff08;完成的特征树与相关参数&#xff09;。 将文件另…

跟我一起写个虚拟机 .Net 7(三)- 安装LC-3 模拟器和编译器

LC-3&#xff08;Little Computer 3&#xff09; 是一门教学用的虚拟计算机模型&#xff0c;主要是为了方便学生了解简单化的计算机结构。 主要想学习《计算机系统概论》上的案例&#xff0c;基本都是通过LC-3 模拟器和LC-3编译器来的&#xff0c;所以&#xff0c;把安装的方式…

Kotlin中的逻辑运算符

在Kotlin中&#xff0c;逻辑运算符用于对布尔值进行逻辑运算。Kotlin提供了三个逻辑运算符&#xff1a;与运算&#xff08;&&&#xff09;、或运算&#xff08;||&#xff09;和非运算&#xff08;!&#xff09;。下面对这些逻辑运算符进行详细介绍&#xff0c;并提供示…