C语言 register关键字与“傲娇的编译器”

1.作用: “建议”编译器把变量放到寄存器内,编译器不一定听你的(傲娇)!!
2.速度:寄存器>高速缓存>内存,寄存器空间很宝贵(非常非常少)
3.寄存器不支持取地址, 不支持静态

过度使用register可能会造成寄存器不足,反而降低程序效率,而且有些东西就算你不建议他也会自己做,不要小看现代编译器几个GB的代码仓库(哭,拉取过…)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <time.h>

void Test()
{
	register int a = 0;
	for (int i = 0; i < 2000000000; i++)
	{
		a++;
	}
}
void Test2()
{
	int a = 0;
	for (int i = 0; i < 2000000000; i++)
	{
		a++;
	}
}
int main()
{
	clock_t start, stop;
	double duration;

	// 不在测试范围内的准备工作写在clock()调用之前 
	start = clock();//开始计时 

	Test();

	stop = clock();//停止时间 
	duration = ((double)(stop - start)) / CLK_TCK;
	// 其他不在测试范围的处理写在后面,例如输出duration的值 

	printf("%f\n", duration);

	start = clock();//开始计时 
![请添加图片描述](https://img-blog.csdnimg.cn/65a706c2d9814d1eb3fcb0626995eca1.png)

	Test2();

	stop = clock();//停止时间 
	duration = ((double)(stop - start)) / CLK_TCK;
	printf("%f\n", duration);

}

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39073.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】目标检测的全面回顾

一、说明 随着自动驾驶汽车、智能视频监控、面部检测和各种人数统计应用的兴起&#xff0c;对快速准确的物体检测系统的需求也在不断增长。这些系统不仅涉及识别和分类图像中的每个对象&#xff0c;还涉及通过在图像周围绘制适当的边界框来定位每个对象。这使得对象检测比其传统…

css基本样式的使用

1、高度和宽度 .c1{height: 300px;width: 500px; }注意事项&#xff1a; 宽度&#xff0c;支持百分比行内标签&#xff0c;默认无效块级标签&#xff0c;默认有效&#xff08;即使右侧空白&#xff0c;也不给你占用&#xff09; 块级和行内标签 css样式 标签&#xff1a; di…

【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

图片速览 DCN K-means-friendly Spaces: Simultaneous Deep Learning and Clustering

本文使用了一种交替更新网络参数和聚类中心的方法。在网络更新完成之后&#xff0c;对于固定的网络参数和 M&#xff0c;再更新当前样本的分配向量。然后根据新的分配结果如式子3.8更新聚类中心&#xff1a; 注&#xff1a;文中还有问题是否能进行凸优化的部分 CG https…

IDEA使用GIT提交代码中文日志(commit message)乱码

最近换了新的开发环境&#xff0c;导致提交gti中文注释乱码&#xff0c;遂记录一下解决方案 idea中查看git提交信息显示中文是正常的 gitee上显示乱码 本地显示也是乱码 一、命令修改编码格式 git 安装目录下执行 git config --global i18n.commitencoding utf-8git config …

SpringMvc配置静态资源访问路径

文章目录 1. 整体流程2. registry.addResourceHandler()2.1 函数分析2.2 结果演示 3. ResourceHandlerRegistration.addResourceLocations()3.1 函数分析3.2 结果演示 1. 整体流程 1. 写一个配置类继承WebMvcConfigurationSupport 2. 利用 registry.addResourceHandler("…

vscode 配置ssh 免密登录 多台服务器

0、下载vscode Visual Studio Code - Code Editing. Redefined 之前一直用pycharm 但是好像社区免费版本不能连接服务器&#xff0c;还要本地同步代码&#xff0c;比较繁琐&#xff0c;因此改用vscode。 1、添加ssh 添加后可以尝试登录&#xff0c;确认下账号密码&#xff0…

浅谈性能测试策略之银行测试

一、性能测试的四个方面 在一般的性能测试讨论中大家通常只围绕三个方面进行提问和总结&#xff1a;测试脚本如何编写&#xff0c;被测系统如何监控&#xff0c;性能瓶颈如何调优。大部分刚刚接触性能测试的人会纠结于脚本的编写&#xff0c;如何设置参数化、如何设置关联、何时…

结合ChatGPT制作PPT

今天看到圈友的一个AI分享&#xff0c;然后自己本身需要做一个分享的PPT。刚好那着帖子实战一下。先说下整体感受。 优点&#xff1a;制作成本确实会比较低&#xff0c;很熟练的话大概就是1分钟一个都有可能。整体流程是先找个第三方PPT制作网站&#xff0c;看下支不支持文本转…

C# 属性

文章目录 实例属性静态属性只读属性&#xff1a;内部只读属性&#xff1a;动态计算值的属性方式一&#xff1a;主动计算方式二&#xff1a;被动计算 快速生成属性的方法&#xff1a;输入propfull&#xff0c;按两下tab键&#xff0c;然后再按tab键一次修改有底纹的字段&#xf…

Spring后置处理器BeanFactoryPostProcessor与BeanPostProcessor源码解析

文章目录 一、简介1、BeanFactoryPostProcessor2、BeanPostProcessor 二、BeanFactoryPostProcessor 源码解析1、BeanDefinitionRegistryPostProcessor 接口实现类的处理流程2、BeanFactoryPostProcessor 接口实现类的处理流程3、总结 三、BeanPostProcessor 源码解析 一、简介…

6.7Jmeter5.1,非GUI模式,通过命令行传递线程数

原创文章&#xff0c;谢绝转载。 一、前提 本次做性能测试&#xff0c;需求是需要在Linux下的非GUI模式下执行。但用命令行执行时&#xff0c;线程数需要改变&#xff0c;为了执行方便&#xff0c;不需要每次都在脚本中修改线程数&#xff0c;那么线程数都需要通过参数传递&…

使用docker的常见bug

BUG1&#xff1a;磁盘被占满导致docker无法使用 docker ps 【查看docker能否正常使用】 正常的话会打印下图信息: 不正常的话打印如下图信息&#xff1a; journalctl -u docker 【查看docker无法正常使用的原因】&#xff0c;本次测试中遇到下图bug&#xff0c;意思是/var/l…

Bard:一个可以描述图像的人工智能

Bard 是一个大型语言模型&#xff0c;可以对各种提示和问题进行交流和生成类似人类的文本。它接受了大量的文字和代码训练&#xff0c;可以生成文本、翻译语言、编写不同类型的创意内容&#xff0c;并以信息丰富的方式回答你的问题。 Bard 还可以识别图像。它可以识别图像中的…

libvirt 热迁移流程及参数介绍

01 热迁移基本原理 1.1 热迁移概念 热迁移也叫在线迁移&#xff0c;是指虚拟机在开机状态下&#xff0c;且不影响虚拟机内部业务正常运行的情况下&#xff0c;从一台宿主机迁移到另外一台宿主机上的过程。 1.2 虚拟机数据传输预拷贝和后拷贝 预拷贝(pre-copy)&#xff1a; …

星火认知大模型,让我感受到了国产AI的崛起

文章目录 一、申请和测试代码二、实测GPT4.0和星火认知大模型的对比2.1 测试网站2.2 经典问题提问对比2.3 代码问题提问对比2.4 论文问题对比2.5 评价 一、申请和测试代码 在我之前的一篇文章中&#xff0c;我分享了如何申请星火认知大模型的内测&#xff0c;并提供了一份可以…

python opencv 级联Haar多目标检测

一、基于OpenCV的haar分类器实现笑脸检测 1、Haar分类器介绍 &#x1f680;Haar分类器是一种基于机器学习的目标检测算法&#xff0c;它使用Haar特征描述图像中的目标。Haar特征是基于图像亮度的局部差异计算得出的&#xff0c;可以用来描述目标的边缘、角落和线条等特征。 使用…

大模型开发(七):LLM提示工程(Prompt)与思维链(CoT)

全文共6500余字&#xff0c;预计阅读时间约13~20分钟 | 满满干货(附案例)&#xff0c;建议收藏&#xff01; 一、LLM模型的涌现能力 在GPT没有爆火之前&#xff0c;一直以来的共识都是&#xff1a;模型的规模越大&#xff0c;模型在下游任务上的能力越多、越强。 LLM原始训…

QT_Creator格式化工具使用

QT_Creator代码格式化工具使用 为了确保代码格式整齐统一&#xff0c;使用代码格式化工具会将写的代码自动格式化以保证格式统一 Astyle&#xff1a; A Free, Fast, and Small Automatic Formatter for C, C, C/CLI, Objective-C, C#, and Java Source Code 一、C和C代码格式化…

Ceph 服务的运用

目录 一、资源池 pool 管理 1.创建一个 Pool 资源池 2.查看集群 Pool 信息 3.查看资源池副本的数量 4.查看 PG 和 PGP 数量 5.修改 pg_num 和 pgp_num 的数量为 128 6.修改 Pool 副本数量为 2 7.修改默认副本数为 2 8.删除 Pool 资源池 8.1修改配置文件 8.2推送 ceph…