主頁 > 教育培訓 > 電腦培訓 > C實例編程:編寫高效簡潔的C語言四大絕招(2)

C實例編程:編寫高效簡潔的C語言四大絕招(2)

       如果系統(tǒng)的實時性要求很高,內(nèi)存還有一些,那我推薦你使用該招數(shù)。該招數(shù)的變招--使用宏函數(shù)而不是函數(shù)。舉例如下:

  方法C:

  #define bwMCDR2_ADDRESS 4

  #define bsMCDR2_ADDRESS 17

  int BIT_MASK(int __bf)

  {

  return ((1U << (bw ## __bf)) - 1)<< (bs ## __bf);

  }

  void SET_BITS(int __dst,

  int __bf, int __val)

  {

  __dst = ((__dst) & ~(BIT_MASK(__bf))) |

  \

  (((__val) << (bs ## __bf))

  & (BIT_MASK(__bf))))

  }

  SET_BITS(MCDR2, MCDR2_ADDRESS,RegisterNumber);

  方法D:

  #define bwMCDR2_ADDRESS 4

  #define bsMCDR2_ADDRESS 17

  #define bmMCDR2_ADDRESS BIT_MASK(MCDR2_ADDRESS)

  #define BIT_MASK(__bf)

  (((1U << (bw ## __bf)) - 1)

  << (bs ## __bf))

  #define SET_BITS(__dst, __bf, __val)

  \

  ((__dst) = ((__dst) & ~(BIT_MASK(__bf)))

  | \

  (((__val) << (bs ## __bf))

  & (BIT_MASK(__bf))))

  SET_BITS(MCDR2, MCDR2_ADDRESS,

  RegisterNumber);

免責聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。