Chinaunix首页 | 论坛 | 博客
  • 博客访问: 560458
  • 博文数量: 493
  • 博客积分: 2891
  • 博客等级: 少校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 17:11
文章分类

全部博文(493)

文章存档

2010年(493)

分类:

2010-05-05 18:01:45

如何解读变量声明

你可以以变量名为起点“先右后左,括号优先”地解读变量的声明。

C++关键字详解——volatile

有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。 volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,而不是使用已经存在寄存器中的值,如下:  
  volatile   BOOL   bStop   =   FALSE;  

这个关键字不止用在定义变量上。在内联汇编时也会用到,告诉编译器不要优化代码。
如:
__asm__ __volatile__(
"1:\tlodsb\n\t"
"stosb\n\t"
"testb %%al,%%al\n\t"
"jne 1b"
:
:"S" (src),"D" (dest));


 

阅读(1398) | 评论(0) | 转发(0) |
0

上一篇:linux 论坛

下一篇:web

给主人留下些什么吧!~~