3 c compiler-construction arguments function
抱歉,如果我的口音疼
在C编程中,您可以声明如下函数:dennis ritche第2版第84页
f(register unsigned m,register long n)
Run Code Online (Sandbox Code Playgroud)
大多数书都说优选的是函数参数的默认存储类型register.
为什么这样?有什么需要?
回答跟着编译器保持与cpu寄存器,但
使用寄存器类型时,我没有看到执行速度有任何差异
任何人都可以详细解释为什么以及何时何地在C编程中使用寄存器?
谢谢
我有兴趣看看哪些书说这个.
说实话,在这一点上编译器技术的状态,几乎从来没有任何用于使用register修饰符声明某些东西的用法.事实上,许多编译器只会抛弃它,并做任何他们想做的事情.关键在于,这在架构,编译器之间变化很大,并且还受到编译器完成的其他优化的影响.因此,选择是否将某些内容存储在寄存器中是最好留给编译器的选择,并且register修饰符的使用通常被认为是古老的反模式.
编辑:我错误地记得register是一个限定符(无论如何都不符合使用类型限定符,所以我应该知道),修复...
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |