14得票3回答
在C语言中,如果B是volatile类型,那么表达式(void)(B = 1)应该读取B吗?

我从事几个嵌入式平台的编译器开发。最近,一个用户抱怨了我们其中一个编译器的以下行为。给定如下代码:extern volatile int MY_REGISTER; void Test(void) { (void) (MY_REGISTER = 1); } 编译器生成的伪汇编代码如下:...

10得票2回答
“LANGUAGE 'plpgsql' VOLATILE” 是什么意思?

当我在Postgres数据库中创建或更新函数或过程时,我会看到函数末尾有LANGUAGE 'plpgsql' VOLATILE。 这是什么意思,它的目的是什么?

303得票12回答
易失性布尔型 vs 原子布尔型

AtomicBoolean相对于volatile boolean的优点是什么?

9得票4回答
Java中的volatile关键字究竟是什么?

我与我的老师就Java中的"volatile"关键字有了一些争论。声明变量为"volatile"时,可以说: 这个变量的值永远不会被本地线程缓存:所有的读写操作将直接处理在 "主内存" 中。 但我的老师持有不同观点: "volatile"关键字并没有保证变量的值会被保存在主内存中。...

27得票2回答
为什么从volatile类型中没有提供默认的复制构造函数?

这段代码:class X { int member; }; volatile X a; X b = a; 出现错误,错误信息为:prog.cpp:6:7: error: no matching function for call to ‘X::X(volatile X&)’ ...

26得票1回答
为什么修改一个被另一个变量引用的字段会导致意外行为?

一开始我觉得这段代码很简单。它修改了一个被引用变量的值并返回引用的值。下面是一个简化版,可以重现奇怪的行为:#include <iostream> using std::cout; struct A { int a; int& b; A(int ...

20得票8回答
benchmarking, code reordering, volatile

我决定要对一个特定的函数进行基准测试,所以我天真地编写了以下代码: #include <ctime> #include <iostream> int SlowCalculation(int input) { ... } int main() { std::...

15得票3回答
如何安全地转换/复制易失性变量?

volatile char* sevensegment_char_value; void ss_load_char(volatile char *digits) { ... int l=strlen(digits); ... } ss_load_char(sev...

15得票7回答
易失变量

易失性变量存在程序内存的哪个部分(哪个段)?

32得票2回答
C++11中的Volatile

在C++11标准中,机器模型从单线程机器变成了多线程机器。 这是否意味着,在C++11中,典型的静态int x; void func() { x = 0; while (x == 0) {} }优化读取被优化掉的例子将不再发生? 编辑:对于那些不知道这个例子(我真的很惊讶)的人,请阅读这个...