用指针访问变量比直接使用变量程序大了很多,如何优化?

2020-01-13 18:25发布

指针nec_code指向数组,按下面的写法足足比直接写数组元素多了200字节ROM,有无办法优化?
  1.                     *nec_code     >>= 1;
  2.                     if(*(nec_code+1) & 0x01) *nec_code     |= 0x80;
  3.                     *(nec_code+1) >>= 1;
  4.                     if(*(nec_code+2) & 0x01) *(nec_code+1) |= 0x80;
  5.                     *(nec_code+2) >>= 1;
  6.                     if(*(nec_code+3) & 0x01) *(nec_code+2) |= 0x80;
  7.                     *(nec_code+3) >>= 1;
  8.                     if(u8_ir_bit_data == 1)  *(nec_code+3) |= 0x80;
复制代码


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
xf331785508
1楼-- · 2020-01-15 07:26
  1. for( byte now = 0, next = 0, n = 0; n < 3; n++ )
  2. {
  3.        
  4.         now = nec_code[n];
  5.         next = nec_code[n+1];
  6.        
  7.         if( next & 0x01 )
  8.         {
  9.                 now = (now >> 1) | 0x80;
  10.                 *(nec_code+n) = now;
  11.         }       
  12. }
复制代码
love_ourdev
2楼-- · 2020-01-15 08:23
 精彩回答 2  元偷偷看……