内核代码绝大部分使用C 语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。 简单的内嵌汇编很容易理解 例如:__asm____volatile__("hlt");“__asm...
分类:
编程语言 时间:
2015-11-20 12:18:59
阅读次数:
203
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如:volatile ...
分类:
其他好文 时间:
2015-11-18 14:14:45
阅读次数:
150
用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新的值。volatile很容易被误用,用来进行原子性操作。package com.guangshan.test;public class TestVolatile { public static int ...
分类:
编程语言 时间:
2015-11-17 20:38:45
阅读次数:
195
几年前,我已经介绍过如何使用const和volatile限定词声明数据。使用这些限定词来声明数据,产生的影响会波及到函数的声明。在C和C++中,影响是不一样的,很大程度上是因为C++中的函数声明比C有更多的功能。为了更清楚描述清楚影响的不同,我们先来看看C和C++中函数最主要的差异是什么。很多C库包...
分类:
编程语言 时间:
2015-11-16 17:16:06
阅读次数:
216
volatile:只保证共享资源的可见性的,任何修改都写在主存,所有线程马上就能看到,适用于新值不依赖于旧值的情形。synchronized:保证可操作的原子性一致性和可见性。volatile和synchronized的区别: volatile仅仅使变量在值发生改变时能尽快地让其他线程知道,并不能....
分类:
编程语言 时间:
2015-11-15 00:47:16
阅读次数:
263
一.关键字const有什么含意? 只要一听到说:“const意味着常数”,就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不.....
分类:
其他好文 时间:
2015-11-13 01:02:38
阅读次数:
283
Java 理论与实践: 正确使用 Volatile 变量原文:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html总结:锁提供了两种主要特性:互斥(mutual exclusion)和可见性(visibility)。互斥即一次只允许一个线...
分类:
编程语言 时间:
2015-11-12 13:43:07
阅读次数:
253
int a;int *p;p = &a;*p = 0x100; //a=0x100p = (int *)0x56000050;*p =0x100;*( ( int * ) 0x56000050) = 0x100加上volatile是为了防止编译器优化这个寄存器#define G...
分类:
其他好文 时间:
2015-11-11 23:45:40
阅读次数:
942
// s3c24xx.h// 2015.11.9/* WOTCH DOG register */#define WTCON (*(volatile unsigned long *)0x53000000)/* SDRAM regisers */#define MEM...
分类:
其他好文 时间:
2015-11-09 17:12:27
阅读次数:
316