ChinaUnix.net
相关文章推荐:

c语言关键字读法

详解C语言中volatile关键字 volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:[code]short flag; void t...

by 三里屯摇滚 - CPU与编译器 - 2012-03-17 18:23:06 阅读(4414) 回复(6)

相关讨论

const关键字是嵌入式程序员必须熟悉的。因为它的使用可以增加程序的健壮性,并且使读者更好地理解程序。 它所修饰的变量被叫做“只读变量”。注意“只读变量”!=“常量”。千万不要说被const所修饰的变量就是常量!那只能说明你对const还不太理解!下面就让我们来分析一下const。 首先看以下定义: const int a = 3; int const a = 3; const char b = '1'; char const b = '1'; const char s[] = "123456789"; char const s[] = "...

by lanlovehua - Linux文档专区 - 2009-10-17 18:32:34 阅读(921) 回复(0)

volatile关键字是一种类型修饰符,[color="#ff0000"]用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。[color="#ff0000"]遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 使用该关键字的例子如下: int volatile nVint;   [color="#ff0000"]当要求使用volatile声明的变量的值的时候,系统[color="#ff0000"]总是重...

by songlin226 - Linux文档专区 - 2008-03-05 13:40:08 阅读(631) 回复(0)

C语言里有没有static这个关键字? 比如static void main(){...}这样的? ------------------ 我看到有人这么说的: ------------------ 静态变量的类型说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的变量不一定就是静态变量。 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 -------------------- 还有谁能用C实现个冒泡排序...

by simhare - C/C++ - 2009-07-13 21:38:57 阅读(7598) 回复(36)

就像 VIm或其他程序编辑器那种 ,可以高亮显示 语法的关键字 不知道用 perl或 perl/tk实现呢? 还望大家指点,谢谢:mrgreen: [ 本帖最后由 nine8 于 2009-5-20 12:39 编辑 ]

by nine8 - Perl - 2009-05-20 15:55:02 阅读(1413) 回复(4)

c语言中volatile关键字的作用 ] 3 推荐 volatile 提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有 volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说 明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序: short ...

by edwinfwd - Linux文档专区 - 2009-02-11 09:47:12 阅读(1028) 回复(0)

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序: short flag; void test() { do1(); while(flag==0); ...

by zhuhefang2006 - Linux文档专区 - 2008-11-06 15:18:06 阅读(614) 回复(0)

struct struct_name { int number ; char flag ; } __attribute__((packed)) ; 查了一些资料,好像都说packed和内存对齐有点: (1) 一些硬件平台存放一些特别的数据类型,从特定地址存放(例如4的倍数),如果不进行内存对齐,则从一个非4倍数的地址取一些数据类型,会发生硬件异常 (2) 即使一些硬件平台支持上面的机制,则效率也不够高 问题:为什么要packed? ----------------------------- 这方面自己没有用过,不知道为什么...

by anank - C/C++ - 2008-08-11 17:00:43 阅读(8271) 回复(10)

转贴: 来自: http://aliax.bokee.com/2184263.html 自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。 strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦...

by zlzj2010 - Java - 2007-09-07 17:31:09 阅读(1619) 回复(0)

在C语言数据存储类型关键字中有一个static,static有三种链接类型(linkage type),即static with no linkage, static with internal linkage 以及 static with external linkage。我在一本书上,即C Primer Plus ,看到对static with no linkage的描述,如下: Static, no linkage— A variable declared in a block with the static storage class modifier belongs to the "static, no linkage" storage class. It has s...

by mcmay - C/C++ - 2007-11-22 23:26:02 阅读(4190) 回复(9)