【关键字】——register在C语言中的使用

简介: 【关键字】——register在C语言中的使用
  • register——寄存器

了解register之前,应该先认识认识寄存器,何为寄存器?

在计算机中,数据可以存储在远程二级存储(网盘,服务器),本地二级存储(本地磁盘),主存(也称内存),高速缓冲,还有寄存器。

早期内存读写速度与CPU的运行速度相当,CPU可以利用内存完成绝大多数的数据处理,而随着CPU的的运行速度的提升,内存读写速度已经无法满足CPU,于是设计出了存储空间比内存小很多,但是运行速度足够快的寄存器。

寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,即寄存器集成在CPU上。

寄存器是 CPU 的高速缓存 LI、 L2,缓存容量是在组装计算机时必问的 两个CPU 性能问题之一。缓存结构和大小对 CPU 的运行速度影响非常大,毕竟 CPU 的运行速度远大于内存的读写速度,更远大于硬盘。基于执行指令和热点数据的时间 局部性和空间局部性, CPU 缓存部分指令和数据,以提升性能。但由于 CPU 内部空 间狭小且结构复杂,高速缓存远小于内存空间。

寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。

如果我们设置一个变量

int main(void)
{
  int i = 10;
  printf("%d\n",i);
  return 0;
}

原来这个变量i在内存中的栈区存储

int main(void)
{
  register int i = 10;
  printf("%d\n", i);
  return 0;
}

这里使用register可以让变量i的存储位置更换在寄存器上,以加快运行在处理变量i时的运行速度。

【注意】:现阶段的编译器的处理数据已经很强大,所有编译器会自动将需要进行快速处理的数据放在寄存器中,以便加快运行速度。

相关文章
|
10月前
|
存储 关系型数据库 应用服务中间件
阿里云服务器4核16G最新年付活动价格:经济型e实例2174.57元起,通用算力型u2a实例1291.80元起
阿里云服务器4核16G活动价格参考,目前经济型e(ecs.e-c1m4.xlarge)4核16G活动价格2174.57元1年起,通用算力型u2a(ecs.u2a-c1m2.xlarge)4核16G活动价格1291.80元1年起,AMD通用型g9a(ecs.c9a.xlarge)4核16G活动价格4452.43元1年起,领取阿里云优惠券之后可获满减优惠。本文将详细介绍阿里云4核16G云服务器的最新活动价格,以及不同实例规格的性能对比和选择参考,以供参考选择。
848 5
|
10月前
|
人工智能 监控 API
AI Agent 落地实战:破解「浮光行为」困局与开发者职业进阶体系
2024年AI Agent进入落地关键期,但“浮光行为”成核心障碍:表面自动化、实则脱离业务本质。本文揭示其三大工程特征与风险,提出开发者从提示词搭建到多智能体编排的三级进阶路径,倡导以业务建模、元认知技术与系统思维构建真正闭环的智能体系统。
569 0
|
11月前
|
UED
基于Axure与Element UI风格的左滑删除行表格设计
本文介绍如何在Axure RP中设计一个符合Element UI风格的可左滑删除行的表格。涵盖创建表格结构、填充数据、添加左滑交互与删除图标、设置视觉样式(颜色、字体、边框等),并进行预览测试,提升用户体验。
266 0
|
11月前
|
机器学习/深度学习 算法 关系型数据库
强化学习
强化学习(RL)是一种通过智能体与环境交互来学习最优策略的机器学习方法,核心是最大化长期累积奖励。其关键概念包括状态、动作、奖励、策略与价值函数,依赖试错和延迟奖励机制。常用方法有基于值的Q-learning、基于策略的Policy Gradient,以及结合两者的Actor-Critic框架。PPO、DPO等算法在实际中广泛应用,尤其在RLHF中优化语言模型。该领域持续发展,追求高效、稳定与实用的决策智能。
884 0
|
Go 索引
Go语言数组的定义与操作 - 《Go语言实战指南》
本文介绍了 Go 语言中的数组(Array)相关知识,包括定义、初始化方式(默认、显式、指定索引及自动推导长度)、访问与修改、遍历方法(for 循环和 for range)、值类型特性(复制行为)、多维数组支持以及其与切片的区别。数组是定长且同类型的集合,适合性能敏感场景,但实际开发中更常用动态的切片(slice)。
466 11
|
存储 Linux
Centos 8 磁盘扩展xfs文件系统 (LVM)
│ ├── 注意事项 │ ├── 备份数据 │ ├── 检查磁盘状态 │ └── 确认设备名称 │ └── 总结 ```
1034 14
|
SQL 负载均衡 前端开发
mysql主从复制和读写分离,看完这篇你就彻底懂了
mysql主从复制和读写分离,看完这篇你就彻底懂了
2343 1
mysql主从复制和读写分离,看完这篇你就彻底懂了
|
负载均衡 网络虚拟化 网络架构
Trunk的概念与设置
Trunk的概念与设置
3367 4
|
机器学习/深度学习 数据采集 数据库
使用Python实现智能食品营养分析的深度学习模型
使用Python实现智能食品营养分析的深度学习模型
851 6
|
缓存 安全 Java
Spring AOP 中两种代理类型的限制
【8月更文挑战第22天】
552 0