c语言性能优化—使用寄存器变量
来源:互联网 发布:telnet 23端口失败 编辑:程序博客网 时间:2024/06/05 07:10
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 是错误的- c语言性能优化—使用寄存器变量
- c语言性能优化—使用寄存器变量
- C语言寄存器变量register
- C语言性能优化——使用位运算
- C语言性能优化
- C语言中哪些变量可以做register寄存器变量
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言中的变量(局部变量,外部变量,静态变量,寄存器变量) .
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)
- c语言编程---性能优化
- 使用C语言操作DSP的寄存器
- 使用c语言打印x86寄存器
- 从头认识C—寄存器变量register
- C语言中----局部变量,外部变量,静态变量,寄存器变量
- 寄存器变量的使用
- 黑马程序员——C语言的性能优化
- 职称 PM,PL,SE,PG 的意思
- MySQL错误代码中文说明
- 为IT程序员量身定制的12个目标——很经典
- 利用udev在/dev下动态生成/移除设备文件
- the difference between the SOURCELIBS and TARGETLIBS
- c语言性能优化—使用寄存器变量
- Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
- python 变量命名规范及变量类型总结
- php中如何搜索相关联数组键值及获取之
- QT Creator 使用小技 QUiLoader
- MFC 应用程序指针的使用
- java笔记——文件和文件夹操作——mkdirs和mkdir
- jquery mobile使用小技巧
- 网购巨头京东赚钱揭秘,是自寻死路还是生财有道?