c语言性能优化—使用寄存器变量
来源:互联网 发布:基恩士视觉软件 编辑:程序博客网 时间:2024/06/05 00:51
c语言性能优化—使用寄存器变量
当对一个变量频繁被读写时,需要反复访问内存,从而花费大量的存取时间。为此,C语言提供了一种变量,即寄存器变量。这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写,从而提高效率。寄存器变量的说明符是register。对于循环次数较多的循环控制变量及循环体内反复使用的变量均可定义为寄存器变量,而循环计数是应用寄存器变量的最好候选者。
1.只有局部自动变量和形参才可以定义为寄存器变量。因为寄存器变量属于动态存储方式,凡需要采用静态存储方式的量都不能定义为寄存器变量,包括:模块间全局变量、模块内全局变量、局部static变量。
2.register是一个"建议"型关键字,意指程序建议该变量放在寄存器中,但最终该变量可能因为条件不满足并未成为寄存器变量,而是被放在了存储器中,但编译器中并不报错(在C++语言中有另一个"建议"型关键字:inline)。
下面是一个采用寄存器变量的例子:
/* 求1+2+3+….+n的值 */
WORD Addition(BYTE n)
{
register i,s=0;
for(i=1;i<=n;i++)
{
s=s+i;
}
return s;
}
本程序循环n次,i和s都被频繁使用,因此可定义为寄存器变量。
寄存器变量没有地址,所以使用&i 是错误的
原文地址:http://blog.csdn.net/ly61baby/article/details/7556998
之前一直没有用过寄存器变量,现在碰到了,就记下来~~~
0 0
- c语言性能优化—使用寄存器变量
- c语言性能优化—使用寄存器变量
- C语言寄存器变量register
- C语言性能优化——使用位运算
- C语言性能优化
- C语言中哪些变量可以做register寄存器变量
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言中的变量(局部变量,外部变量,静态变量,寄存器变量) .
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言编程---性能优化
- 使用C语言操作DSP的寄存器
- 使用c语言打印x86寄存器
- 从头认识C—寄存器变量register
- C语言中----局部变量,外部变量,静态变量,寄存器变量
- 寄存器变量的使用
- 黑马程序员——C语言的性能优化
- scala常用语法之控制结构
- Mysql Cluster7.4.12分布式集群搭建
- nc设定tnsping超时
- Wamp5出现#1045 - Access denied for user 'root'@'localhost' (using password: NO)
- linux下安装源码包
- c语言性能优化—使用寄存器变量
- mvc与音频播放
- Scala语言与Play框架入门教程
- NSOperation学习笔记
- 用户管理
- 使vim编辑器显示行号
- hdu1007最近点对(分治)
- 仿映客送礼特效
- 非对称加密