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

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

       如果系統(tǒng)的實(shí)時性要求很高,內(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);

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

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