news 2026/9/4 5:55:34

结构体struct类型定义的意义和一个vscode实用插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
结构体struct类型定义的意义和一个vscode实用插件

最近,在看stm32的中间层LwIP的源码代码,对结构类类型定义struct有了一个新的认识,记录下来。另外,发现了一个比较好用的vscode插件也记录下来。

(1)结构体struct类型结构体类型定义。

首先,struct类型是因为某些实物的属性比较复杂,用某一个简单的类型无法描述,但是这些属性都是都是属于某一个实物,也是说本身就有在一个范围内的特性。我们都知道c语言的定义的变量都是定义在内存上,内存上的内存空间只有两种一种是相连的,另外就是不相连的。而结构体类型struct定义结构体成员变量本身就是在内存上相连的。也就是说那一众属性本身属于某一个需要描述的事物,对应的结构体类型定义的变量内部的成员变量本在在内存上是相连的。

我们都知道c语言的函数的本质是操作内存变量,因为c语言中比较常用的做法是这些内存变量打包成一个struct结构体类型,并定义对应结构体类型变量,这个结构体类型变量内部的成员在内存上本事就是相邻的,我们定义相关函数最常用的办法就是通过结构类指针类型变量去读写访问,通过对这些结构体内部成员变量读写不同的数值就实现了需要的功能(最直接的就是寄存器,寄存器的位段写入需要的数值就能操纵硬件实现不同功能,对应的真正结构体内存变量通过写入有效数据就可以在读它的时候进行判断就知道发生了什么事情,就可以指导访问其他函数,这样功能就实现了)。结构体实现变量打包,除了在硬件上像寄存器一样本身就是相连,还可以将某些模糊的属性变量进行打包成相邻的结构体内部成员变量。结构体的发明进一步约束简化了内存变量的布局分部,很大程度上简化了代码读写访问的复杂型。

(2)一个比较实用的vscode插件

最近,在读LwIP源码的时候遇到一个问题就是条件编译#if #else #end如果代码比较长,因为vscode是没有相关条件编译的折叠辅助线功能让我们一目了然条件变量在哪里结束,哪里分支了。

我发现一个插件名字叫“IFDEF Pathfinder”安装后能够在条件变量右面有不同颜色的相关提示,这样我们就可以通过快速下拉代码找到对应宏定义在哪里结束了。

这样我们就可以比较容易找到条件编译在哪里结束了(虽然也没有相关折叠功能好用)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 23:59:35

从零开始:Gitee 仓库创建与本地项目纳管全流程详解

目录 一、Gitee 仓库创建:打好代码托管的基础 1.1 准备工作 1.2 仓库创建步骤 二、本地生成 SSH 公钥:实现免密提交代码 2.1 SSH 公钥的作用原理 2.2 本地生成 SSH 公钥的步骤 步骤 1:检查 Git 环境 步骤 2:打开命令行工具 步骤 3:执行生成公钥的命令 2.3 将公钥…

作者头像 李华
网站建设 2026/9/2 15:34:57

走向全栈:前后端状态认知差异与设计边界的深度探讨

文章目录 引言:为何关注前后端状态认知差异全栈开发的兴起与前后端分离的现状状态管理在现代应用中的重要性前后端协作中的常见误解 登录态的归属:前端状态还是后端状态?登录态的定义与实现方式前端如何管理登录态后端对登录态的支持与要求案…

作者头像 李华
网站建设 2026/9/2 19:26:50

Java毕设选题推荐:基于Java的小说三体科幻社区管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/2 17:11:45

AI版“马后炮”?大模型的「因果注意力」到底是啥?

AI版“马后炮”?大模型的「因果注意力」到底是啥? 目录 AI版“马后炮”?大模型的「因果注意力」到底是啥? 这一切的根源,都指向大模型天生自带的**「因果注意力」机制**。 🔍 什么是「因果注意力」?用“写日记”打比方 📝 生活化举例 🧠 底层原理:Transformer里的…

作者头像 李华
网站建设 2026/9/2 19:26:17

越疆科技转化应用调研考察解读-万祥军| 国研智库·中国国政研究

越疆科技转化应用调研考察解读-万祥军| 国研智库中国国政研究“近年来,随着全球新一轮科技革命和产业变革深入发展,机器人技术作为智能制造的核心装备,正加速向各行业渗透融合。”调研考察中国际科学院组织代表兼国际科学院委员会执委万祥军解…

作者头像 李华
网站建设 2026/9/2 19:27:10

基于STM32 的老人跌倒监测系统设计与实现

目录 STM32 老人跌倒监测系统概述硬件设计软件设计关键代码示例(STM32 HAL库)系统优化方向应用场景 源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! STM32 老人跌倒监测系统概述 该系统利用STM32微控制器作为核…

作者头像 李华