乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
C 0.12 寄存器变量
2018-06-17 08:23:04
101
0
0
admin
> 将一些重复使用的变量放在CPU寄存器中来提高效率 ``` register int i; ``` * register 只是一个建议型关键词,至于这个变量最终是否被放在CPU寄存器中,由编译器决定。 * 被声明为寄存器变量的变量,没有地址的概念(地址是内存中的概念) * 一个使用寄存器变量的例子是for循环 **不用寄存器:** ```c #include <stdio.h> main() { int i; //register int i; for (i=0;i<999999999;i++) ; printf("done\n"); } ``` 运行结果 ``` [root@test ~]# gcc register.c [root@test ~]# time ./a.out done real 0m1.554s user 0m1.553s sys 0m0.000s ``` **用寄存器:** ```c #include <stdio.h> main() { //int i; register int i; for (i=0;i<999999999;i++) ; printf("done\n"); } ``` 运行结果 ``` [root@test ~]# gcc register.c [root@test ~]# time ./a.out done real 0m0.531s user 0m0.530s sys 0m0.001s ```
上一篇:
C 0.11 计算溢出
下一篇:
C 0.2 控制流
文档导航