根据网上搜到的文章,程序中添加两个bool变量,作为状态标记,保证串口关闭时,串口事件已处理完private volatile bool is_serial_listening = false;//串口正在监听标记private volatile bool is_serial_closing = f...
const修饰普通变量和指针
const修饰变量,一般有两种写法:
const TYPE value;TYPE const value;
这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。
例如:
const int nValue; ...
分类:
其他好文 时间:
2015-01-20 18:12:37
阅读次数:
315
#define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control 控制寄存器地址#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data 数据地址#defi....
分类:
其他好文 时间:
2015-01-19 18:59:54
阅读次数:
147
在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly。本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^)。
注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区别参见这里),...
分类:
系统相关 时间:
2015-01-19 10:58:16
阅读次数:
179
In embedded system, we usually use the keyword "volatile", what does the keyword mean?析:volatile修饰符的主要目的是提示编译器该对象的值可能在编译器未监测到的情况下被改变,因此编译器不能武断地对和该对象的代...
分类:
其他好文 时间:
2015-01-18 10:30:01
阅读次数:
176
作用:(1)每次访问该关键词修饰的变量都必须在内存上访问,而不是读取寄存器中的副本;(2)防止某些变量被其他线程修改,而使用该变量的其他线程不能访问该变量的最新值;(3)实现简单的同步锁的功能;使用条件:对变量的写操作不依赖于当前值。该变量没有包含在具有其他变量的不..
分类:
移动开发 时间:
2015-01-16 17:08:08
阅读次数:
139
Java中的两种内置同步机制: synchronized 和 volatile 变量, volatile修饰的变量, 在使用时会强制检查最新值. 有synchronized的值可见性, 但是没有其操作原子性. 因为其轻量的原因, 在一些考虑性能的地方, 可以使用volatile, 但是使用时要非常小...
分类:
编程语言 时间:
2015-01-15 01:39:41
阅读次数:
226
本段内容均来自于《Thinking in Java》并发一章的内容,作为阅读的笔记或者可以理解为抄书。 原子性是可以用于除long和double之外的所有基本类型的“简单操作”。对于读取和写入除long和double之外的基本类型这样的操作,可以保证他们会被当做不可分割的操作来操作内存。但是对...
分类:
其他好文 时间:
2015-01-14 12:43:00
阅读次数:
136
好记性不如烂笔头。今天要做的学习是关于bionic目录下的代码。
首先需要看的是_errno.c这份代码。
volatile int* __errno( void )
{
return &((volatile int*)__get_tls())[TLS_SLOT_ERRNO];
}从上面可以看出,返回的是一个指向int类型的指针。
volatile关键字是一种类型修饰符,用它声明...
分类:
移动开发 时间:
2015-01-11 12:25:42
阅读次数:
344
Volatile
Volatile 英文单词的意思是不稳定的,反复无常的. 在C语言中用volatile的关键字声明变量,就是说这个变量会发生意想不到的变化,每次用这个值的时候都需要重新去读取. 精确的讲应该是优化器用这个变量的时候每次都需要重新去读取这个值,而不能用保存在寄存器里的变量。这是编译器优化器的副作用,因此有些变量要定义为volatile, 特别是在嵌入式编程中, 这是区分嵌入式工程...
分类:
编程语言 时间:
2015-01-08 22:48:25
阅读次数:
308