`

volatile 的含义

阅读更多

今天在公司正在处理事情时,来了个电话,一听是个我特别向往的公司的电话面试,哎~~,也没有来得及好好准备。不怕。既来之,则安

之。

面试时,说起volatile的含义,有什么作用? 我又懵了(真是不争气!)。依稀记得 volatile好像和寄存器相关的。但是具体怎么回事忘

记了。后来在网上一查,volatile 是一种类型修饰符,被它修饰的变量在编译时不会被优化(即从内存中取值,而不会从寄存器备份中取

值),以保证取值的正确性。它可以用于

1)应用中被几个任务共享的变量。


2)一个中断服务子程序中会访问到的非自动变量

3)并行设备的硬件寄存器

分享到:
评论

相关推荐

    Java中volatile关键字的含义

    在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候可以万事大吉。  Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 ...

    AVR-GCC 中如何使用volatile 关键字.pdf

    volatile 的字面含义是易变的,那么将一个变量指示为volatile 是什么意思呢?是告诉编 译器这个变量是易变的?事实上也是如此。在多任务、中断等环境下,变量可能被其他的任 务改变,而编译器无法发现,volatile ...

    探讨C语言中关键字volatile的含义

    这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx。当CPU把其值放到ebx中后就不会再关心对应内存中的值。若...

    java volatile关键字的含义详细介绍

    主要介绍了java volatile关键字的含义详解的相关资料,需要的朋友可以参考下

    C语言 volatile与const同时使用应注意的问题

    “volatile”的含义是“请不要做没谱的优化,这个值可能变掉的”,而并非“你可以修改这个值”。因此,它们本来就不是矛盾的。 const修饰的变量不允许这里修改不代表不允许别处修改,比如: 代码如下:int i = 5;...

    C语言中关键字volatile的用法

    本文介绍了C语言中关键字volatile使用方法、注意事项内容。

    C#线程同步的几种方法总结

    我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作...它只能在变量一级做同步,volatile的含义就是告诉处理器, 不要将我放入工作内存, 请直接在主

    volatileDemo.zip

    volatile博客问题 配套示例demo,更方便读者运行。体验其中的真实的场景。 更加能够明白其中具体的含义。

    IOS面试题归总

    私有变量呢 关键字const什么含义 关键字volatile有什么含义?并给出三个不同例子? static作用 #import和#include的区别,@class代表什么 线程和进程的区别? 堆和栈的区别? Object-C的内存管理? 为什么很多内置的...

    华中科技大学自动化学院DSP原理及应用2020试卷

    2020年华科本科生期中考试DSP原理及应用试卷 一、简答题(50分,每小题5分) 1, DSP器件有哪些主要特征? 2, 什么是哈弗结构?...并简述F280C28x的C语言中的volatile、interrupt等标识符的含义。

    msp430单片机各部程序模块实例

    430各模块的实例程序! //*********************************************... volatile unsigned int i; P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR i = 50000; // Delay do (i--); while (i != 0); } }

    在嵌入式软件编程中深入理解关键字

    C语言以其简洁、高效和强大等特性成为嵌入式软件编程的首选语言,但是某些关键字,例如const、static、extern和volatile等,在不同的场合具有不同的含义,而且某些用法晦涩难懂,为此本文详细介绍这些关键字的用法...

    C++基本概念 (面试、复习)

     C++中已经被系统定义为特殊含义的一类标识符。C++中的关键字有: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for...

    嵌入式系统/ARM技术中的在嵌入式软件编程中深入理解关键字

    C语言以其简洁、高效和强大等特性成为嵌入式软件编程的首选语言,但是某些关键字,例如const、static、extern和volatile等,在不同的场合具有不同的含义,而且某些用法晦涩难懂,为此本文详细介绍这些关键字的用法...

    计算机类基础问题

    1)transient和volatile是java关键字吗?(瞬联) 2)抽象类和接口有什么区别?(瞬联) 3)能说一下java的反射机制吗?(瞬联) 4)在java中怎样实现多线程?(瞬联) 5)你用过哪种设计模式?(瞬联,IBM,...

    【后端】java基础(5.4)java高级基础之java的修饰符——非访问控制符

    volatile transient 今天我们只讲前三种,后面三种等我们讲到线程的时候再回过头来讲。 首先还是通过一张经典的表我们来观察它们可修饰的内容: 非访问修饰符 基本含义 类 方法 成员变量 局部变量 static 静态的/...

    java语法一些易忘知识点

    volatile java运算符 操作符 含义 算数运算符 + – * / % ++ – 赋值运算符 = 关系运算符 == != > = <= & 对应位都是1,则结果为1,否则为0 | 对应位都是0,则结果为0,否则为1 ^ 对应位...

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    面试题15:一个参数可以既是const又是volatile吗 面试题16:一个指针可以是volatile吗 第5章 引用和指针 5.1 引用 面试题1:什么是引用 面试题2:常引用有什么作用 面试题3:流操作符重载为什么返回引用 5.2 指针 ...

Global site tag (gtag.js) - Google Analytics