一. volatile修饰字段: | 二. container_of: | 三. 驱动错误返回值: | 四. struct file_operations注释: | 五. struct file注释: ...
分类:
其他好文 时间:
2015-03-08 18:47:57
阅读次数:
296
在main(WinMain、tWinMain)函数之前做一个数据共享段:
#pragma data_seg("Shared")
int volatile g_lAppInstance = 0;
#pragma data_seg()
#pragma comment(linker,"/section:Shared,RWS")
在进入到主函数中对那个变量做判断:
if (0 == g_...
在开始喷这个主题之前,让我们先看看数据仓库的官方定义:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。以上是数据仓库的官方定义。
“操作型数据库”如银行里记账系统数据库,每一次业务操作(比如你存了5元钱),都会立刻记...
分类:
其他好文 时间:
2015-03-05 14:50:07
阅读次数:
139
Volatile
Volatile保证在变量在多线程的可见性。用于修饰变量。
代码如下:
public class VolatileDemo1 {
volatile int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public void testA1(f...
分类:
编程语言 时间:
2015-03-04 22:51:00
阅读次数:
259
在linux源码中经常遇到__asm__函数。它其实是函数asm的宏定义#define __asm__ asm,asm函数让系统执行汇编语句。__asm__常常与__volatile__一起出现。__volatile__限制编译器不能对下面的汇编语句进行优化处理。分析下面语句__asm__("mov...
分类:
系统相关 时间:
2015-03-04 16:18:24
阅读次数:
198
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint;当要求使...
分类:
其他好文 时间:
2015-03-04 09:41:44
阅读次数:
121
1、静态转换 static_cast用于明确定义的变换 ,包括 编译器允许的非强制转换和不太安全但定义清楚的变换。ps:(非强制变换,窄化变换,隐式转换,类层次静态定位,void*强制转换)2、常量转换 const_cast用于从const或 volatile转换为非const或非volatile3...
分类:
编程语言 时间:
2015-03-01 22:16:30
阅读次数:
144
volatile变量具有两种特性:保证此变量对所有线程的可见性,注意:java里的运算不是原子操作,导致volatile变量在并发下存在不一致的问题。使用规则要求a.运算结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值。b.变量不需要与其他的状态变量共同参与不变约..
分类:
编程语言 时间:
2015-03-01 01:42:19
阅读次数:
163
Java 理论与实践: 正确使用 Volatile 变量Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchron...
分类:
编程语言 时间:
2015-02-27 16:49:02
阅读次数:
265
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在D...
分类:
其他好文 时间:
2015-02-27 16:47:16
阅读次数:
151