打印
[STM32WL]

编程中的volatile,const意义

[复制链接]
楼主: janewood
手机看帖
扫描二维码
随时随地手机跟帖
21
xiaoyaodz| | 2023-10-12 22:51 | 只看该作者 回帖奖励 |倒序浏览
volatile用于多线程编程中,表示对它所修饰的对象不应该执行优化。如果一个基本变量被volatile修饰,编译器将不会把它保存到寄存器中,而是每一次都去访问内存中实际保存该变量的位置上。这一点就避免了没有volatile修饰的变量在多线程的读写中所产生的由于编译器优化所导致的灾难性问题。因此,多线程中必须要共享的基本变量一定要加上volatile修饰符。

const则表示一个常量,它的值不会被改变。const修饰的变量只能在定义时赋值,之后不能重新赋值。const的作用是在程序开发过程中帮助程序员避免一些常见的错误,例如在声明一个常量时可以避免重复定义,或者在声明一个常量时可以避免忘记修改它的值等问题。

使用特权

评论回复
22
sdlls| | 2023-10-14 08:58 | 只看该作者
volatile和const是两个非常重要的关键字

使用特权

评论回复
23
nomomy| | 2023-10-14 09:44 | 只看该作者
volatile是一个类型修饰符,用于告诉编译器该变量可能随时被修改,因此编译器不应对其进行优化。const是一个常量修饰符,用于声明一个不可修改的变量。

使用特权

评论回复
24
burgessmaggie| | 2023-10-14 11:25 | 只看该作者
'const'的含义是常量,一旦定义了const变量,就不能改变它的值。

使用特权

评论回复
25
hilahope| | 2023-10-14 14:54 | 只看该作者
如果一个变量是全局变量,同时它被另一个线程在修改,那么这个变量就应该是volatile的,这样编译器就不会把它当作只读变量,每次使用时都从内存中读取它的值,因为它可能在任何时候被改变。

使用特权

评论回复
26
alvpeg| | 2023-10-14 20:51 | 只看该作者
"const"关键字用于声明一个常量,即其值在程序执行期间不能被修改。

使用特权

评论回复
27
Mowergy| | 2023-10-16 13:29 | 只看该作者
"volatile"关键字可以确保数据的正确性和一致性

使用特权

评论回复
28
updownq| | 2023-10-16 14:08 | 只看该作者
一旦变量被声明为const,它的值就不能再被修改。const可以用于修饰变量、指针、函数参数等。

使用特权

评论回复
29
jtracy3| | 2023-10-16 14:21 | 只看该作者
volatile和const的作用是相互独立的,可以同时应用于一个变量。

使用特权

评论回复
30
janewood|  楼主 | 2023-10-17 16:51 | 只看该作者
正确地使用它们可以提高程序的正确性和效率。

使用特权

评论回复
31
yeates333| | 2023-10-17 19:05 | 只看该作者
volatile和const都是类型修饰符

使用特权

评论回复
32
mmbs| | 2023-10-22 12:10 | 只看该作者
这两个关键字的使用,主要与程序的优化和线程安全有关。

使用特权

评论回复
33
digit0| | 2023-10-23 11:55 | 只看该作者
volatile以及const是两种不一样的修饰符,它们别离用于声明变量的属性。

使用特权

评论回复
34
理想阳| | 2023-10-23 13:26 | 只看该作者
加const后变量不克不及被扭转

使用特权

评论回复
35
LLGTR| | 2023-10-23 13:51 | 只看该作者
如果添加了const,则不能修改

使用特权

评论回复
36
V853| | 2023-10-23 14:27 | 只看该作者
什么是不稳定的?

使用特权

评论回复
37
weifeng90| | 2023-12-12 08:27 | 只看该作者
对于关键变量或函数一般都要加volatile

使用特权

评论回复
38
AIsignel| | 2023-12-12 15:34 | 只看该作者
const关键字用于声明一个常量,暗示该变量的值在程序运行时代是不成扭转的。

使用特权

评论回复
39
万图| | 2024-1-9 10:04 | 只看该作者

使能主从模式,触发事件选择为更新事件,不需要开启中断。

使用特权

评论回复
40
Clyde011| | 2024-1-10 11:07 | 只看该作者

输出了5个频率为10KHz的PWM脉冲

使用特权

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

本版积分规则