博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言各种keyword
阅读量:5973 次
发布时间:2019-06-19

本文共 549 字,大约阅读时间需要 1 分钟。

1、register

在函数内定义变量时。默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存。假设一个变量用 register keyword修饰。编译器则尽可能将该变量存放在CPU的内部寄存器中,这样就不用通过内存寻址来訪问变量,能够大大提高訪问效率。

2、volatile

volatilekeyword修饰的变量或地址。则每次使用时,变量的值或地址指向的值都要又一次从内存中获取。

假设没实用volatilekeyword修饰,编译器优化时,在同一进程中当上一次对这个地址操作的值在该进程中没有被改动时,他会自己主动把上次读的数据取出来而不会又一次从内存地址中获取内容。

该情况在嵌入式系统、驱动编程中常常使用,通常是对寄存器或硬件I/Oport的操作。

3、inline

inlinekeyword修饰的函数称为内联函数。在程序编译时,编译器会将程序中出现的对该函数的调用表达式用该函数的函数体来进行替换。类似于宏替换,只是相比宏替更easy理解,不易出错。

inlinekeyword多用于定义函数体代码短且调用频繁的函数。以目标代码的添加为代价来节省函数频繁跳转的时间成本。

4、。。。。

。。

转载地址:http://tcbox.baihongyu.com/

你可能感兴趣的文章
CentOS 7 下 Oracle 11g 安装教程
查看>>
JS·基础(一)
查看>>
# 学习笔记-协议# OSI七层模型 与 TCP/IP五层协议
查看>>
Callbacks, Promises and Async/Await
查看>>
华为程序员:加6天班!加班费1.4万元!网友:我能加到它破产
查看>>
解读 JavaScript 之引擎、运行时和堆栈调用
查看>>
不得不懂系列(1)-Go语言protobuf快速上手
查看>>
版本控制系统git
查看>>
从月薪5k到5w的过来人 给大学生程序员们的一点建议
查看>>
Android开发之 .9PNG 的使用
查看>>
D2 日报 2019年5月8日
查看>>
武汉区块链软件技术公司:区块链和比特币
查看>>
学习笔记(3.27)
查看>>
ecshop ajax无刷新登陆_无需整理
查看>>
Android中隐藏标题栏和状态栏
查看>>
浅显c#连接数据库
查看>>
15. SQL -- 游标(实例)
查看>>
plsql9.0.6.1665版本注册码
查看>>
Linux入门基础之grep命令详解及正则表达式
查看>>
Git 分布式版本控制 实战
查看>>