news 2026/7/4 4:33:16

volatile关键字的使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
volatile关键字的使用

1、volatile关键字简介

volatile是 C/C++/Java 等语言中的一个类型修饰符,它的核心作用是告诉编译器:被修饰的变量的值可能会在程序控制范围之外被改变,因此每次使用时都必须重新从内存读取,不能进行优化,优化可减小bin文件大小。

2、主要用途

①硬件寄存器映射:变量的值可能由硬件(如外设状态寄存器)自动更新,编译器不能假设它不变。

②中断服务程序(ISR)中修改的全局变量:主程序和中断都会访问该变量,防止编译器优化掉看似多余的读取。

③RTOS多线程共享的变量(在没有锁机制时):一个线程修改,另一个线程读取,避免因优化导致读取不到最新值。

3、案例分析

将优化等级改为3级:

经过对比发现有差异的代码如下:

分析汇编代码:

①未开优化前

②开启优化后

原因分析:开了编译器优化后,编译器优化代码时没有识别出主流程和中断流程是并发执行,所以没有修改全局变量。

加入volatile修饰:

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

高频厚铜板VCP电镀工艺核心要点与解决方案

1. 高频厚铜板VCP电镀工艺概述 在PCB制造领域,高频厚铜板的垂直连续电镀(VCP)工艺一直是业内公认的技术难点。我从事PCB电镀工艺开发已有12年,处理过上百种特殊板材的电镀需求,其中高频厚铜板的VCP工艺控制尤为考验工程…

作者头像 李华
网站建设 2026/7/4 4:31:09

立式加工中心Z轴进给传动系统设计与优化

1. 立式加工中心Z轴进给传动系统概述立式加工中心作为现代机械制造领域的核心装备,其Z轴进给传动系统的性能直接影响加工精度和效率。Z轴作为决定刀具与工件相对位置的关键运动轴,承担着切削进给、快速定位和主轴重量支撑等多重功能。一套优秀的Z轴进给传…

作者头像 李华