C 编译出现 :带有存储类的额空声明没有重声明标记【默认启用】

MISRA C 1998规则七深度解析:嵌入式C语言声明与定义的核心安全编程实践 在嵌入式系统与安全关键领域软件开发中,编码规范是保障软件可靠性的基石。C语言作为底层开发的主流语言,其灵活性与强大功能背后隐藏着未定义行为、内存错误等风险,需要通过严格的编码约束来规避。MISRA C正是为此而生的一套权威编码标准,其核心价值在于通过定义明确的规则,提升代码的可预测性、可维护性与可移植性。从概念上讲,它系统性地规范了标识符、存储类、类型限定符等基础元素的声明与定义方式,其设计原理植根于消除歧义、防范链接错误和确保内存访问确定性。在工程实践中,遵循这些规则能有效预防难以调试的运行时错误,尤其在 阅读详情

原因之一:结构体的声明有问题
在这里插入图片描述

GCC 12.2 编译 C 语言:3 种 `invalid storage class` 报错的根因分析与修复 本文深入解析GCC 12.2编译C语言时常见的3种`invalid storage class`报错,包括函数嵌套声明、宏内函数定义和前序函数括号缺失等问题。通过根因分析和修复方案,帮助开发者理解C语言函数声明与定义的深层规则,提升代码质量与编译效率。 阅读详情

相关推荐

深入理解C语言的存储类和预处理器指令

本文详细解读了C语言中存储类的概念、作用域以及与预处理器指令的关系。通过对比分析静态存储类、extern存储类和typedef存储类的特点,探讨了它们在函数参数声明、变量初始化、链接属性等方面的使用规则和注意事项。同时,文章对C预处理器的功能和翻译阶段进行了深入探讨,包括三字符序列替换、行拼接、分词以及预处理器指令的处理。

weixin_36427956的博客 424

结构体 空声明中指定存储类无用 C_马鸿凯_新浪博客

我遇到的问题 在头文件里面进行了类似 typdef struct structName{ }; 在另外的文件使用结构体时 直接struct structName x; 结果出现了空声明中指定存储类无用错误 解决方案: 在头文件里面: typdef struct structN{ }structName; 另外的文件使用结构体时: structName x; 原因:编译器认为...

Ma_Hong_Kai的博客 1184

AI 代码赋能短视频带货:服装及多赛道批量内容生产全流程实操

本文聚焦 AI 技术在短视频带货领域的落地应用,以服装赛道为核心,延伸至花卉绿植、图书、茶具等热门领域,系统拆解 AI 工具在选品、素材处理、视频制作(含动态效果、场景搭建)、运营优化等环节的实操方法。针对从业者普遍面临的 “内容生产低效”“无专业技术难出优质视频”“流量运营踩坑” 等痛点,提供从基础工具使用到高阶视频制作的全流程技术方案,助力相关从业者借助 AI 实现批量、高效的短视频内容产出。

m0_67958922的博客 3084

工作笔记-2014.5.28

说明:进行系统安全测试,需要对yaffs2格式的img文件进行编辑修改,以下为linux下的修改方法。   Selecting previously unselected package liberror-perl. (正在读取数据库 ... 系统当前共安装有 164924 个文件和目录。) 正在解压缩 liberror-perl (从 .../liberror-perl_0.17-1_a

Esther的专栏 1466

帝企鹅优化器(EPO)详解:从基础原理到代码实战

帝企鹅优化器(EPO)是受帝企鹅群体在极寒环境中抱团取暖行为启发,于2018年提出的一种群体智能优化算法。其核心机制是模拟帝企鹅种群通过动态调整位置来维持体温的过程,主要包括确定集群边界、计算温度分布、衡量个体间距离以及更新位置四个步骤,从而在求解复杂优化问题时有效平衡全局探索与局部开发。该算法具有参数少、结构清晰、易于实现等优点,在工程优化、图像处理、机器学习特征选择以及冷链物流车辆路径规划等领域展现出良好的应用潜力。

qq_42212808的博客 139

PX4从放弃到精通(二十一):使用git管理PX4代码

文章目录前言一、设置git密钥二、将代码上传至gitee 前言 Ubuntu 18.04 PX4 1.11.3 由于github有时网速较慢,本文使用gitee。 一、设置git密钥 ssh-keygen -t rsa -C “your_email@youremail.com” your_email@youremail.com为自己注册的gitee账户邮箱.设置路径与密码时,也直接回车不设置,如下图,密钥生成的位置在红框处. 在密钥目录下按Ctrl+H显示隐藏文件,进入.ssh文件夹用gedit打开id

超维空间科技的博客 3477

C语言再学习 -- C 预处理器

一、#define

不积跬步,无以至千里 5435

影像组学文章复现:ITHscore:通过多尺度放射学特征全面定量NSCLC肿瘤内异质性 ----小细胞肺癌肿瘤异质性评分

目的:通过计算机断层扫描(CT)图像量化非小细胞肺癌(NSCLC)的肿瘤内异质性(ITH)。 方法:整合局部辐射特征和全局像素分布模式,开发定量ITH测量-ITHscore。在六个患者队列(n = 1399)中检查ITHscore与肿瘤表型,基因型和患者预后的关联,以验证其在表征ITH方面的有效性。

xxx 1020

c语言中 警告数据定义无类型 或存储类怎么解决,C语言基本数据类型详解

原帖地址:http://www.cnblogs.com/jcsu/articles/1317826.html一、基本数据类型1. 基本数据类型的分类:C语言中的三种基本数据类型是:整型、实型、字符型。每种类型又可以分为常量和变量。整型常量:(1) 十进制的整型常量:由数字0~9组成。如:0、10、365、-12等。(2) 八进制的整型常量:以0开头,由数字0~7组成。如:0、010、0365...

weixin_35015064的博客 1873

无人机导航中的坐标系统详解与转换实现

本文系统介绍了无人机导航中常用的坐标系及其转换方法。主要内容包括:1) 四种关键坐标系(大地坐标系ECEF、经纬度LLA、北东天坐标系NED、机体坐标系)的定义和特点;2) 坐标系间的转换原理与实现,重点讲解LLA与ECEF的互转公式及ECEF与NED的转换方法;3) 提供可直接使用的C++实现代码,包括基于WGS84椭球模型的精确转换算法。这些内容为无人机导航系统开发提供了实用的坐标系处理方案,能够有效解决多源数据在不同坐标系下的统一表示问题。

电脑管家 377

【异常】Nacos 2.x 核心报错:Server check fail (gRPC 端口连不通) 深度排查

如果 Nacos 运行在 K8s 中,需确保对应的Servicemetadata:spec:ports:port: 8848port: 9848 # 必须暴露此端口selector:app: nacos在 Nacos 2.x 时代,“端口成套出现”是基础设施配置的基本要求。遇到连接失败时,首要检查的不是业务配置,而是网络链路上主端口 + 1000的 TCP 通讯是否被放行。更多关于 AI + 教育领域的干货,可以关注我的微信公众号一时间获取哦~

奶爸的编程之路,也就一周冷个三天 325

我遇到的错误:此声明中没有存储类或类型说明符

错误:此声明中没有存储类或类型说明符 情况描述: 今天在写程序的时候遇到了这个错误,原因很简单,就是在头文件中声明类的时候,函数的声明写错了,例如: class a { a(); //构造函数 ~a();//析构函数 int max( int A , int B);//正确的声明方法 int a::max( int A , int B )//正确定义的方法 { if ( A &...

qinxinger的博客 8890

泛微OA与泛微OA之间打通实现统一待办配置

问题:学校OA与集团OA均为泛微Ecology8.0 ,由于流程审批互通的需要,要将两套OA系统打通,实现跨系统的流程流转。

symstandsun的博客 2269

C语言 存储类型 关键字

概述:存储类定义 C语言程序中变量/函数的存储位置、生命周期和作用域。

临界三级管的博客 1880

基于Xilinx XDMA 的PCIE通信

基于Xilinx XDMA 的PCIE通信 概述:   想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实践实践!!! 说明: 参考文档: PCI Express Base Specification Revision 3.0 PCI Express Base Specification Revision 5.0 pg195-pcie-dma PCI Express体系

Crazzy_M的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【C语言】存储类型说明符——auto、static、extern、register

1. 变量的属性 2. 存储类型说明符 2.1 auto 2.2 static 2.3 extern 2.4 register

Qiuhan_909的博客 3055

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

c语言中存储类修饰符,C语言存储类修饰符和类型限定符

存储类修饰符声明中出现的存储类修饰符(storage class specifier)用于修改标识符的链接和对应对象的存储周期(链接与存储周期的概念将会在本章后面介绍)。链接(linkage)和存储周期(storage duration)是C语言中常会遇到的困扰。链接(标识符的属性)和存储周期(对象的属性)两者在声明中都会受相同关键字集(存储类修饰符)的影响。本章后面会介绍对象的存储周期可以是动态...

weixin_39942037的博客 226

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

关于Window下Caffe.pb.h报错“非法的存储类”“成员声明中的非法限定名”“未声明的标识符”的解决

1>G:\ZhouGF\Caffe测试\include2\caffe/proto/caffe.pb.h(1402): error C2071: “caffe::FillerParameter::FillerParameter_default_instance_”: 非法的存储类 1>G:\ZhouGF\Caffe测试\include2\caffe/proto/caffe.pb.h(16...

Z5122的博客 4792

C语言学习(一)

type必须是一个有效的 C 数据类型,可以是char、int、float、bool、double或任何自定义的对象,char c, ch;double d;变量可以在声明时被初始化。//定义并初始化d和f//定义并初始化z//定义x,值为'x'不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为NULL(所有字节的值都是0),其他所有变量的初始值是未定义的。有两种定义方式:1. 使用#define预处理器2. 使用const关键字。

qq_45779358的博客 947

C语言之关键字

定义就是(编译器)创建一个对象,并且为这个对象分配一块内存,给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。

weixin_44645950的博客 1992

C/C++中变量的作用域和存储类型简介

写在开头 对于很多C/C++的初学者来说,很容易理不清变量的作用域和存储类型这一块的一些概念,也容易将其中的一些概念搞混淆。作为一个C/C++的初学者,笔者希望在这里能够尝试着去理一理这些较为繁杂的概念,主要当作自己备忘之用。当然,由于笔者水平有限,经验不足,在这里也只能罗列一些常用概念和使用方法,且可能会有些许不专业之处,望君理解并指正。 一定要把变量的作用域和存储类型分开来看 很多人很容...

weixin_30482383的博客 233

C语言进阶(一):关键字与条件编译

C语言进阶(一):关键字 C语言中的关键字共32个,可分为以下几类: 1-1 基本数据类型(5个) void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 1-2 类型修饰关键字(4...

la_fe_的博客 571

Linux中C语言学习

Linux中C语言学习 1、C 编译器 请在命令行使用下面的命令来检查您的系统上是否安装了 GCC: gcc -v 安装后,可看到如下信息: Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 2、编译 & 执行 C 程序 接下来让我们看看如何把源代码保存在一个文...

羊脂球的博客 621

C语言关键字

C 语言允许根据需求定义新数据类型。用户定义类型包含一个或多个基本类型元素。struct:声明一个结构类型typedef:创建一个新数据类型union:声明一个联合类型enum:声明一个枚举类型C 语言允许根据需求定义新的数据类型,这些用户定义的类型包含一个或多个基本类型元素。struct:声明一个结构类型typedef:创建一个新数据类型union:声明一个联合类型enum:声明一个枚举类型。

新华编程特战队 1278

常见编译错误

常见编译错误1. 出现 expected ‘)' before '*' token2. expected specifier-qualifier-list3. undefined reference to 1. 出现 expected ‘)’ before ‘*’ token 原因是1. 前面的定义在后面 2. 头文件也添加了,可能是定义在某个特定 宏 之中 需要拿出来处理 2. e...

哈尼的博客 4659

C语言32个关键字详解

以下内容建议大家收藏,全是干货,建议反复观看!!! Let's Go!!! 首先我们把 C89(C90) 的所有关键字进行一下分类,方便大家理解。 数据类型关键字(12个): char、short、int、long、signed、unsigned、float、double、struct、union、enum、void 控制语句关键字(12个): 1、循环控制(5个) for、do、while、break、continue 2、条件语句(3个) if、el.

qq_56627079的博客 4万+
上一篇: 8086CPU 寻址方式
下一篇: C makefile 使用方法
Bean_Turtle
博客等级 码龄7年 7粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值