早教吧作业答案频道 -->其他-->
C中关键字volatile的意思,主要作用是什么?(通俗易懂的),
题目详情
C中关键字volatile的意思,主要作用是什么?(通俗易懂的),
▼优质解答
答案和解析
举例说明:
volatile int i=10;
int j = i;
...
int k = i;
volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i的地址读取数据放在k中.
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化.).
其中编译器编译优化是:
由于编译器发现两次从i读数据的代码之间的代码没有对i进行过操作,它会自动把上次读的数据放在k中.而不是重新从i里面读.这样以来,如果i是一个寄存器变量或者表示一个端口数据就容易出错,所以说volatile可以保证对特殊地址的稳定访问,不会出错.
volatile int i=10;
int j = i;
...
int k = i;
volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i的地址读取数据放在k中.
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化.).
其中编译器编译优化是:
由于编译器发现两次从i读数据的代码之间的代码没有对i进行过操作,它会自动把上次读的数据放在k中.而不是重新从i里面读.这样以来,如果i是一个寄存器变量或者表示一个端口数据就容易出错,所以说volatile可以保证对特殊地址的稳定访问,不会出错.
看了 C中关键字volatile的...的网友还看了以下:
“百里不同风,千里不同俗”中的“风”和“俗”意思?“百里不同风,千里不同俗”中的“风”和“俗”是什么 2020-03-30 …
根据意思``用数字表示的俗语``帮忙看看`①表示实实在在,不可更改②表示做事时顾不上考虑周全,先干 2020-04-26 …
缱绻通俗的意思是什么?如题缱绻的通俗意思是什么?缱绻是作为动词还是名词?可以用作动词吗?比如?最好 2020-06-02 …
美国俗语解答“You'reclotheshorse"是什么意思?字面理解是你是衣架马,是衣架不是衣 2020-06-20 …
如何用英语表达我国少数民族唱山歌习俗?我国西南少数民俗都有唱山歌的习俗,用英语如何表达下列这些:“ 2020-06-26 …
“我想你了你知道么”的藏头诗八句诗的开头如题,第七句的结尾要用“思”字,第八句的结尾要用“雅”字. 2020-06-26 …
用“思”字组词,进行词语搭配.()清晰((()涌动()敏捷()万千 2020-11-07 …
填三字俗语和字谜1.三字俗语[铁]公鸡2.吹鼓[]二.字谜。3.遮羞[]4.[]子牛1.一个礼拜[] 2020-11-21 …
用“思”字组词,进行词语搭配.()清晰((()涌动()敏捷()万千 2020-11-22 …
化学家们根据物质的音译、产地、颜色、特殊用途、性质等,给许多物质起了通俗的名字,俗名中蕴含着大量的信 2020-11-23 …