编译器编译优化---常量传播和常量折叠

(1)  常量传播

    故名思议,在编译优化时,将能够计算出结果的变量直接替换为常量。

   如:  void main()

         {

int a = 1;

printf("%d",a);

         }

       编译器在进行编译的时候,将a直接由1代替。

     优化后如下:

    void main()

{

printf("%d",1);

}

(2)常量折叠

    故名思议,在编译优化时,多个变量进行计算时,而且能够直接计算出结果,那么变量将由常量直接替换。

 如:

 void main()

{

int a = 3+1-1*5;

      printf("%d",a);

}

优化为:

void main()

{

printf("%d",-1);

}

你可能感兴趣的:(编译)