GutenLOL Skrivet 23 Augusti 2007 Rapport Skrivet 23 Augusti 2007 Kan man få ett program att pausa i typ 1ms? :huh: Citera
epaaj Skrivet 23 Augusti 2007 Rapport Skrivet 23 Augusti 2007 Har kollat några gånger men inte hittat nån riktig sleep-funktion i något standardbibliotek till C++, tyvärr. Har för mig att jag sett nåt någon gång, men minns inte om det var standardbibliotek eller inte =/ Har sett det för SDL, men det känns lite onödigt att blanda in det kanske. Citera
GutenLOL Skrivet 23 Augusti 2007 Författare Rapport Skrivet 23 Augusti 2007 Men om inte det funkar, finns det något program som gör att allt minne tas upp succesivt? :) Jag försökte göra det nämligen, men det crasha efter ca130000. <_< Citera
Vitdom Skrivet 23 Augusti 2007 Rapport Skrivet 23 Augusti 2007 Jag kan ett, men det fungerar bara till Windows. Lägg till bibloteket "windows.h" och andvänd denna kod där du vill att programmet ska pausa. Sleep(milisekunder); Citera
GutenLOL Skrivet 23 Augusti 2007 Författare Rapport Skrivet 23 Augusti 2007 (redigerat) Tack det funkar :cool: EDIT: det funkar men programmer crashar alltid vid exakt 130141 <_< plz, vad ska jag göra så att det inte crashar? Redigerat 23 Augusti 2007 av GutenLOL Citera
epaaj Skrivet 23 Augusti 2007 Rapport Skrivet 23 Augusti 2007 Jag skulle nog behöva lite mer information för att kunna hjälpa dig att lösa det. Har du nån kod att visa eller några andra saker som kan hjälpa? Vad menar du med den där siffran? Citera
GutenLOL Skrivet 23 Augusti 2007 Författare Rapport Skrivet 23 Augusti 2007 (redigerat) Ok, jag skriver koden #include <iostream> #include <windows.h> //använder unsigned long för att det ska fungera snabbare unsigned long int tal; unsigned long int rakna(); int main() { rakna(); return 0; } unsigned long int rakna() { tal++; std::cout << tal; std::cout << " "; if(tal==130000) { tal=1; } Sleep(0.1); rakna(); } den skriver alltså ut tal som blir högre och högre. Men när den kommer till exakt 130141 utskrivna tal krachar den. Tanken är att man ska få datorn att ta upp allt minne. Programmet gör jag bara för skojs skull :) Redigerat 23 Augusti 2007 av GutenLOL Citera
Vitdom Skrivet 24 Augusti 2007 Rapport Skrivet 24 Augusti 2007 (redigerat) hmm vet inte om det här fungerar.. men försök. skapa variabeln: unsigned long tal2 = 1; och byt ut if slingan till en while slinga. ta bort allt i slingan och skriv in: std::cout << tal + tal2 << "."; std::cout << " "; Sleep(0.1); tal2++; Hoppas du förstår.. Kan räkna ganska mycket bara man lägger till det maximala värdet av unsigned long int på din dator till räknaren för så många gånger man orkar. Redigerat 24 Augusti 2007 av Vitdom Citera
GutenLOL Skrivet 24 Augusti 2007 Författare Rapport Skrivet 24 Augusti 2007 (redigerat) Den fungerar nu, men den skriver bara ut tal. Jag hade tänkt att jag skulle använda rekursion och ta upp allt minne genom att anropa samma funktion om och om igen. PS. Jag kan inte skriva förrens på söndag igen. Redigerat 24 Augusti 2007 av GutenLOL Citera
Ozoon Skrivet 24 Augusti 2007 Rapport Skrivet 24 Augusti 2007 använd pointers för att ta upp mer och mer minne på heapen bara! char * cPtr = new char tex. skapar en char på heapen, vilket inte försvinner förrän du startar om datorn, även om du stänger av programmet. Eftersom den skapas i minne som ligger "utanför programmet" som kallas heap. Det som är "innanför", som programmet kan ta hand om och tar bort oanvända variabler kallas Stack. Så egentligen det enda du behöver göra är att lägga massa saker på heapen. Citera
GutenLOL Skrivet 26 Augusti 2007 Författare Rapport Skrivet 26 Augusti 2007 Jag har inte riktigt komti till den nivån riktigt än. Men tack iallafall ;) Citera
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.