開發平台(Platform): (Ex: Win10, Linux, ...)
CortexM0
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc-arm-none-eabi-4_8-2014q1-20140314-linux
問題(Question):
目前正在玩nRF51822,核心是CortexM0,沒有OS,
在追蹤它提供的一些util時發現某個有趣的寫法,
搞不懂它為何要拆成兩行來寫,
static __INLINE uint8_t app_sched_queue_empty()
{
uint8_t tmp = m_queue_start_index;
return m_queue_end_index == tmp;
}
如果改寫成return(m_queue_end_index == m_queue_start_index),
實際執行時會發生啥不可預期的結果嗎?