快捷搜索:  汽车  科技

c学完语法后如何提升(C笔记十)

c学完语法后如何提升(C笔记十)像for循环这种频繁使用i的地方,C 编译器会做优化,将变量i放到寄存器里面,加快程序的执行速度。也就是C 即使不用关键字register也会优化。灵隐寺 【本头条号版权所有】

c学完语法后如何提升(C笔记十)(1)

C 对C的扩展——register关键字增强

register关键字:请求编译器让变量直接放到CPU内部寄存器里面,而不是通过内存寻址访问,速度快。

在C语言中,register修饰的变量不能取地址,去寄存器变量的地址在C语言里面是会出错的。

c学完语法后如何提升(C笔记十)(2)

c学完语法后如何提升(C笔记十)(3)

c学完语法后如何提升(C笔记十)(4)

在C 中依然支持register关键字,C 编译器有自己的优化方式,不使用register也可能做优化;并且C 中可以取得register变量的地址,C 编译器发现程序中需要取register变量的地址时,register对变量的声明变的无效。早期的C语言编译器不会对代码进行优化,因此register变量是个很好的补充。

我们说一下C 编译器的优化方式:

c学完语法后如何提升(C笔记十)(5)

像for循环这种频繁使用i的地方,C 编译器会做优化,将变量i放到寄存器里面,加快程序的执行速度。也就是C 即使不用关键字register也会优化。

c学完语法后如何提升(C笔记十)(6)

灵隐寺 【本头条号版权所有】

猜您喜欢: