高效的C编程之:寄存器分配(终)

来源:本站
导读:目前正在解读《高效的C编程之:寄存器分配(终)》的相关信息,《高效的C编程之:寄存器分配(终)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《高效的C编程之:寄存器分配(终)》的详细说明。
简介:编译器一项很重要的优化功能就是对寄存器的分配。与分配在寄存器中的变量相比,分配到内存的变量访问要慢得多。所以如何将尽可能多的变量分配到寄存器,是编程时应该重点考虑的问题。(EEFOCUS)

3.指针链

指针链(PointerChains)常被用来访问结构体内部变量。下面的例子显示了一个典型的指针链的使用。

typedefstruct{intx,y,z;}Point3;

typedefstruct{Point3*pos,*direction;}Object;

voidInitPos1(Object*p)

{

p->pos->x=0;

p->pos->y=0;

p->pos->z=0;

}

上面的代码每次使用“p->pos”时都会对变量重新取值。为了提高代码效率,将程序改写如下。

voidInitPos2(Object*p)

{

Point3*pos=p->pos;

pos->x=0;

pos->y=0;

pos->z=0;

}

经过改写的代码,减少了内存访问次数,提高程序的执行效率,另外也可以在object结构体中增加一个point3域,专门作为指向p->pos的指针。

提醒:《高效的C编程之:寄存器分配(终)》最后刷新时间 2024-03-14 01:07:25,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《高效的C编程之:寄存器分配(终)》该内容的真实性请自行鉴别。