Hirdetés
- Házimozi belépő szinten
- Projektor topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD Navi Radeon™ RX 9xxx sorozat
- iPad topik
- Szelek helyett a nosztalgia szárnyán érkezik a SilverStone legújabb miditornya
- Milyen házat vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen egeret válasszak?
- Merevlemezek megbízhatósága, élettartama
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
emitter #1323 üzenetére
azt mondtad h szedjem ki a temp_failure-t, hát kiszedtem, de így meg a select ha jól látom, nem is hívódik meg sehol
Persze, mert azt is kiszedtedTalán azt hagyd benne, a return-nel egyetemben.
return select (FD_SETSIZE, &set, NULL, NULL, &timeout));
Már most nem tudom hogyan magyarázzam, ha az elõzõt nem értetted.
Na még egy próba.
Nézzük onnan, hogy mit szeretnél:
1. Ha a felhasználó megnyom egy gombot, akkor arra reagálni akarsz.
2. Másodpercenként kiírni az idõt.
3. Közben nem terhelni a processzort.
A 3. pont miatt meg kell mondani az operációs rendszernek, hogy az 1. és 2. események bekövetkeztekor fusson a progi. Ezt például a select függvénnyel lehet, ami azt tudja, hogy figyel tetszõleges számú fájlleírót megadott ideig. Billentyûleütés akkor van, ha a stdin fájlból van mit olvasni. Ezt szépen meg lehet adni a select-nek. Sajnos azt viszont nem tudja, hogy másodpercenként térjen vissza akkor is ha nincs billentyûleütés, csak várakozási idõt lehet neki megadni. Ezért a 2. pontot kicsit át kell fogalmazni, mégpedig úgy, hogy nem azt mondod, hogy másodpercenként, hanem azt, hogy a következõ másodpercig. Ezt pedig úgy csinálod, hogy minden frissítésnél illetve a select meghívása elõtt lekéred az idõt (a gettimeofday függvénnyel, mert kell a pontosság!) és a timeout értéket ebbõl számolod, értelemszerûen: timeout = elõzõ frissítés + 1mp - aktuális idõ.
A select visszatérési értéke elárulja, hogy az 1. vagy a 2. feltétel következett-e be, vagyis a felhasználó megnyomott egy gombot (ekkor getch() és eseménykezelés) vagy pedig a várakozási idõ járt le (ekkor idõ frissítése kell.).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- LG OLED42C31LA 120Hz (garanciális, hibátlan állapotban)
- Katonai Rugged laptopok Panasonic Toughbook és Getac S410 6-11.gen gar.
- Lenovo ThinkPad P1 G2 Tervező Vágó Laptop -70% 15,6" Xeon E-2276M 32/1TB QUADRO T2000 4GB FHD
- Dell OptiPlex 3050 számítógép (I3/8gb/240SSD)
- Lenovo Thinkpad T495s Ryzen 5 PRO 3500U/16GB RAM/256 SSD/14" FHD touch Magyar bill. laptop eladó
- Bomba ár! HP Zbook 14u G5 - i7-8GEN I 16-32GB I 512GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3494, 91% Akkumulátor
- Honor X7b 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! HP Pavilion G6 - i5-2G I 4GB I 120GB SSD I Radeon I 15,6" HD I HDMI I Cam I W10 I Gari!
- 159 - Lenovo LOQ (15APH8) - AMD Ryzen 7 7840HS, RTX 4060
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest