打印
[综合信息]

C语言中关于关键字volatile的用法

[复制链接]
楼主: nomomy
手机看帖
扫描二维码
随时随地手机跟帖
21
houjiakai| | 2023-9-7 15:25 | 只看该作者 回帖奖励 |倒序浏览
有些变量的值可能会被外部因素改变,如硬件中断或其他任务的影响。

使用特权

评论回复
22
sdlls| | 2023-9-7 15:32 | 只看该作者
在使用volatile时,需要根据具体的需求和场景进行合理的声明和使用。

使用特权

评论回复
23
10299823| | 2023-9-7 15:38 | 只看该作者
使用 volatile 关键字可以告诉编译器不要对变量进行优化处理,即每次使用该变量时都必须从内存中读取,而不是依赖缓存

使用特权

评论回复
24
tifmill| | 2023-9-7 16:08 | 只看该作者
volatile 关键字是一个用于确保变量可见性的工具

使用特权

评论回复
25
robertesth| | 2023-9-7 16:18 | 只看该作者
关键字 volatile 主要用于告诉编译器,某个变量的值可以在程序执行过程中被意外修改,因此编译器不应该对该变量的读取和写入进行优化,以确保程序对该变量的操作是实际的、按照代码的顺序执行的。

使用特权

评论回复
26
updownq| | 2023-9-7 16:24 | 只看该作者
需要考虑使用适当的同步机制来确保线程之间的数据一致性。

使用特权

评论回复
27
pmp| | 2023-9-7 16:30 | 只看该作者
volatile关键字声明的变量是受保护的,即在声明后,除非被显式地赋值,否则不能被任何其他代码访问。

使用特权

评论回复
28
maudlu| | 2023-9-7 16:36 | 只看该作者
虽然volatile可以防止编译器优化掉变量的读取和写入,但是它不能防止并发修改。

使用特权

评论回复
29
benjaminka| | 2023-9-7 16:44 | 只看该作者
,关键字 volatile 用于修饰变量,它主要用于告诉编译器这个变量可能会在程序的执行过程中被意外地改变,以避免编译器对该变量进行过度优化。

使用特权

评论回复
30
robertesth| | 2023-9-7 17:03 | 只看该作者
volatile关键字声明的变量是可变的,即可以通过修改变量值来更新其状态。

使用特权

评论回复
31
mmbs| | 2023-9-7 17:16 | 只看该作者
volatile 关键字只保证变量本身的可见性,而不保证相关操作的顺序。

使用特权

评论回复
32
sdlls| | 2023-9-9 16:49 | 只看该作者
volatile只能修饰全局变量和局部变量,不能修饰函数参数、函数返回值和静态全局变量。

使用特权

评论回复
33
minzisc| | 2023-9-9 17:04 | 只看该作者
不要过度使用volatile关键字。由于volatile会禁止编译器的一些优化,过度使用会导致性能下降。

使用特权

评论回复
34
七毛钱| | 2023-9-11 15:38 | 只看该作者
嵌入式就离不开c语言,好好学习研究吧

使用特权

评论回复
35
Pretext| | 2023-10-7 13:27 | 只看该作者
volatile,重要用于确保变量在多线程或者间断上下文中的可见性

使用特权

评论回复
36
天天向善| | 2023-10-7 14:19 | 只看该作者
不一样的编译器大概对于,volatile,的实现略有不同。

使用特权

评论回复
37
LinkMe| | 2023-10-9 09:32 | 只看该作者
volatile关键字用于暗示变量的值大概会随时发生变化,必要分外处置

使用特权

评论回复
38
鹿鼎计| | 2023-10-9 10:44 | 只看该作者
过度使用,易失性,可能导致程序性能下降,因为编译器无法优化。

使用特权

评论回复
39
软核硬核| | 2023-10-9 11:56 | 只看该作者
有些变量的值大概会被外部身分扭转,如硬件间断或者其他使命的影响。

使用特权

评论回复
40
芯路例程| | 2023-11-7 18:11 | 只看该作者
在利用volatile时,必要按照详细的需求以及场景举行公道的声明以及利用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则