寄存器变量
寄存器变量
寄存器变量是将变量放入寄存器中,主要用在使用频率较高的变量,避免了来回从内存中读取.简单认识寄存器
int num = 100;
__asm
{
mov eax, num //将num的放入eax寄存器中
add eax, 15 //将eax寄存器中的值加上15
mov num, eax //将eax寄存器的值赋值给num
}
printf("%d", num);
使用寄存器变量
//声明寄存器变量
register int x;
register int y;
对比一下,使用寄存器变量前后
1.未使用寄存器变量
time_t start, end;
time(&start); //获取当前时间,放入start变量中
double sum = 0.0;
int i = 0;
for (; i < 400000000; i++)
{
sum += i;
}
printf("%f\n", sum);
time(&end); //获取当前时间,放入end变量中
printf("%d", (unsigned int)(end - start));
2.使用寄存器变量
time_t start, end;
time(&start); //获取当前时间,放入start变量中
register double sum = 0.0;
register int i = 0;
for (; i < 400000000; i++)
{
sum += i;
}
printf("%f\n", sum);
time(&end); //获取当前时间,放入end变量中
printf("%d", (unsigned int)(end - start));
3.对比测试结果

简单总结
1. 寄存器变量可以提高程序的性能 2. 寄存器变量不能是全局的静态变量
3. 寄存器数是有限的,使用太多的寄存器变量,会自动降为普通变量
秋风
2016-09-04