1
我有一個簡短的問題。它很簡單,但我很困惑。我正在使用終端在C中創建一個定時器。我正在使用SIGALRM發送減去SUBTRACT_CONST值的信號。我假設有25 TICKS_PER_SECOND或1/25這是我的減法常數0.0400。我已經安裝了信號處理程序和計時器,以關閉itimer結構中的每個40000us。然而,在我的一個功能中,當時間變爲零時,我不能「捕捉」。當這個TICK_PER_SECOND值是32或16時,它按預期工作。我的比較似乎沒有捕捉到這些不同的時間點。我的時間變量是持有這個正在被減去的值是雙倍的。檢查雙數是零的時間
if(TIME == 0) //my very simple comparison
我已經試過了。我的計時器倒計時到負時間。一旦它變得小於0,這個條件總會被滿足。 –
只需使用一個'int',從步驟1中的25開始倒數。 – harold
您只需要使用適當的條件,就不能使用精確的比較。例如,'if(TIME <0.00001)...'或類似的東西。或者做一下@harold所說的並將你的問題解決爲整數。 – lurker