[問題] 無窮迴圈

看板C_and_CPP (C/C++)作者 (自我催眠)時間14年前 (2011/11/18 11:07), 編輯推噓6(6017)
留言23則, 11人參與, 最新討論串1/1
小弟最近在寫一個類似監控程式的東西 比如說可以紀錄玩線上遊戲的時間 我的寫法是把要做的事情包在一個while裡面 while(1) { main } 然後讓他一直去跑 一直去抓取hwnd 現在整個程式是可以跑起來沒錯 但是缺點就是很占CPU 比較慢一點的電腦 跑起來會很頓 關於這類的程式 有什麼比較好的寫法嗎 請各位前輩給點意見! 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.236.246

11/18 11:30, , 1F
sleep?
11/18 11:30, 1F

11/18 11:31, , 2F
可是我想要一直監控 sleep的期間無法作監控吧?
11/18 11:31, 2F

11/18 11:33, , 3F
所以還滿常使用 sleep(0) 的 這會和 OS 表示我想要暫停一下
11/18 11:33, 3F

11/18 11:33, , 4F
thread
11/18 11:33, 4F

11/18 11:33, , 5F
由於參數是 0 會馬上結束 但對 OS 來說它獲得了能切換到
11/18 11:33, 5F

11/18 11:33, , 6F
別的程式去跑的機會
11/18 11:33, 6F

11/18 11:46, , 7F
thread?
11/18 11:46, 7F

11/18 12:00, , 8F
thread
11/18 12:00, 8F

11/18 13:44, , 9F
不sleep電腦會頓也沒辦法監控吧,sleep一下下反而會好一點
11/18 13:44, 9F

11/18 14:13, , 10F
我想請教的是,用thread CPU rate 會降嗎?? win32 的話,
11/18 14:13, 10F

11/18 14:14, , 11F
我是用 WM_TIMER 去解, console 的話就..
11/18 14:14, 11F

11/18 14:14, , 12F
http://codepad.org/LDIeWnrL , 和原po可能沒兩樣吧.
11/18 14:14, 12F

11/18 14:50, , 13F
去找看看有沒有HOOK可以改?
11/18 14:50, 13F

11/18 15:09, , 14F
我的程式的確跟t大的差不多
11/18 15:09, 14F

11/18 15:11, , 15F
順便請問在OS中的常駐程式運行的規則大概是什麼?
11/18 15:11, 15F

11/18 16:50, , 16F
如果有可以用dll hook進target app然後從第一次process
11/18 16:50, 16F

11/18 16:50, , 17F
attach記錄一個時間 中間都不用做事 然後process detach
11/18 16:50, 17F

11/18 16:50, , 18F
再記一次時間 用兩個時間相減這樣行嗎@@
11/18 16:50, 18F

11/18 21:40, , 19F
小弟只會比較基本的c跟c++ 至於dll的話.......不太懂囧
11/18 21:40, 19F

11/19 04:03, , 20F
Sleep(1)這種是正解..監控也不用那麼高的Polling rate
11/19 04:03, 20F

11/19 04:04, , 21F
除非你的事件頻率是micro/nano second scale...不過很難
11/19 04:04, 21F

11/19 04:11, , 22F
且事件如果還是從OS pass上來 那最快也通常只有ms等級
11/19 04:11, 22F

11/20 00:22, , 23F
application.processmessages
11/20 00:22, 23F
文章代碼(AID): #1EnSlrLu (C_and_CPP)
文章代碼(AID): #1EnSlrLu (C_and_CPP)