《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习6——存储类

2019-07-12 15:49发布

存储类关键字

auto:修饰局部变量,平时定义的局部变量就是auto,只是省略了auto关键字。 static:老生常谈了,不多说了。 register:被修饰的变量会被尽量分配在寄存器中,提高访问效率。 extern:这个太熟悉了,不多说了。 volatile:被修饰的变量会被编译器之外的东西改变。比如终端isr中引用的变量;多线程中共用的变量;硬件会更改的变量。 restrict:c99标准引入,用于限定和约束指针,告诉编译器,所有希望修改该指针指向的内存时,都必须使用该指针才可以进行。目的是为了让编译器能进行更好的优化。使用时加-std=c99。