Miért használják a Dev-Cpp-ben fordított programok (amikben ciklus van) 100-on a processzort?
Annyira bírom ezeket a kérdéseket, amikor a kérdező teljesen kezdő a témában, és a fordítót hibáztatja a rosszul megírt programja miatt. Legalább próbálnád meg meglátni a hiba lényegét.
Valószínűleg azért, mert írtál egy végtelen vagy nagyon-nagyon hosszú ciklust. A gép meg... dolgozik mint egy gép.
nem, nem vagyok nagyon kezdő de tényleg nem értek hozzá annyira. Azért nem írtam példát, mert ez gyakran előfordul de most írtam egy ilyen ciklust itt pl a teljes magot használja a szamol.exe:
#include <iostream>
#include <time.h>
using namespace std;
int main() {
time_t x;
x = time(NULL);
time_t y = x+1000000;
do {
x = time(NULL);
} while(x<y);
cout << "vege" << endl;
return 0;
}
Én ezt a megoldást ismerem arra a problémára, ha azt akarom, hogy a program várjon X időpontig, mert ugye ezt bővíthetem úgy, hogy egy konkrét időpont legyen a ciklus vége. Tehát nekem elég lenne, ha másodpercenként egyszer végezné el a műveletet, de akkor ott ugye meg kéne állnia a programnak 1 másodpercig. Szóval ez a konkrét problémám
Igaza van neki(gépnek), a ciklust ismétli teljes sebességgel, ez az ún. aktív várakozás.
Ez jó sokáig dolgoztatná a gépet feleslegesen, majdnem 12 napig.
"A sleep függvényt nem ismeri ez a fordító illetve azt olvastam róla a neten hogy az csak Linuxon műkődik"
Pl. ez megdönti az elméleted:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
Sleep(5000);// 5 sec varakozas
cout << "vege" << endl;
return 0;
}
Ilyenről még nem hallottam, nálam régóta működik window-on. Pontosan hol olvastad ezt?
igazad van ezzel a headerrel tényleg működik. köszönöm
nem találom már azt a fórumot de tényleg azt írta hogy windowson nem működik emlékszem
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!